[SCSI] aacraid: fix srb ioctl for 64 bits
authorMark Haverkamp <markh@linux-foundation.org>
Thu, 15 Mar 2007 17:27:32 +0000 (10:27 -0700)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Tue, 20 Mar 2007 15:55:40 +0000 (10:55 -0500)
commitf2b1a06ad46209c6e631e3099138d1fa3f14d3a8
tree37310a406089a30fbe4f587668fdc8ce9738e7a9
parent9e7c349c91db3a9f9ac6cd74a693c4093c7d4571
[SCSI] aacraid: fix srb ioctl for 64 bits

Received from Mark Salyzyn,

The raw srb ioctl is supposed to be able to take packets with 32 and 64 bit
virtual address SG elements, it did not handle the frames with 64 bit SG
elements well when communicating with 64 bit DMA capable adapters, and it did
not handle the 32 bit limited DMA adapters at all.  The enclosed patch now
handles all four quadrants (32 bit / 64 bit SG elements in SRB requests + 32
bit or 64 bit DMA capable adapters)

This fix is required before Java based management applications in a 64 bit user
space can submit raw srb requests to the array physical components via the
ioctl mechanism, the allocated user memory pool on 64 bit machines under this
environment forced the management software's hands to submit 64 bit user space
virtual address SG elements in via the ioctl.

Signed-off-by: Mark Haverkamp <markh@linux-foundation.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/aacraid/commctrl.c