Re: AIX 4.3 SCSI ioctl command with IBM 6228

From: Nicholas Dronen (ndronen_at_io.frii.com)
Date: 09/30/03


Date: 29 Sep 2003 23:03:14 GMT

Joseph Krauze <jkrauze@ccs.neu.edu> wrote:
JK> Hello,

JK> I have a small utility that sends inquiry command to a fiber channel card
JK> using an ioctl call. I open succeeding rhdisk files with openx in
JK> diagnostic mode. I then continue to call ioctl(fd, DKIOCMD, mystruct),
JK> where mystruct is of type struct sc_iocmd, and DKIOCMD implies a
JK> diagnostic inquiry.

JK> The problem is that I am getting an invalid return value, EINVAL, which
JK> tells me that either one of my parameters is wrong and/or the combination
JK> of the arguments is wrong. This could mean that my structure is not filled in
JK> correctly which I have already considered but does not seem to be the
JK> case.

JK> The thing is that this utility has worked in the past with other cards.
JK> With the IBM 6228 it ceases to work. I understand that the IBM 6228 is 64
JK> bit and the sc_iocmd struct is 32 bit but I wouldn't think it should cause
JK> a problem. I also tried using ioctlx() instead and no progress has been
JK> made. The 64-bit sc_cmd struct is resevred for the kernel domain only.

JK> Any ideas or comments?

I don't know exactly what you mean about struct so_iocmd being
32-bit, but it does make me wonder whether the driver expects the
struct so_iocmd argument to be aligned on a 64-bit word.

Regards,

Nicholas

-- 
"Why shouldn't I top-post?"    http://www.aglami.com/tpfaq.html
"Meanings are another story."  http://www.ifas.org/wa/glossolalia.html


Relevant Pages

  • AIX 4.3 SCSI ioctl command with IBM 6228
    ... I have a small utility that sends inquiry command to a fiber channel card ... With the IBM 6228 it ceases to work. ... bit and the sc_iocmd struct is 32 bit but I wouldn't think it should cause ...
    (comp.unix.aix)
  • [PATCH] PowerPC Virtual Ethernet driver
    ... This patch adds the inter-partition Virtual Ethernet driver for newer ... IBM iSeries and pSeries systems... ... +static int ibmveth_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) ... +#define IbmVethMcastEnableRecv (IbmVethMcastReceptionModifyBit | IbmVethMcastReceptionEnableBit) ...
    (Linux-Kernel)
  • Re: [patch 1/3] add basic accounting fields to taskstats
    ... struct and a bacct_add_tskroutine to fill the data on ... Copyright Shailabh Nagar, IBM Corp. 2006 ... This program is free software; you can redistribute it and/or modify it ...
    (Linux-Kernel)
  • Re: [patch 1/3] add basic accounting fields to taskstats
    ... struct and a bacct_add_tskroutine to fill the data on ... Copyright Shailabh Nagar, IBM Corp. 2006 ... This program is free software; you can redistribute it and/or modify it ...
    (Linux-Kernel)