]> git.baikalelectronics.ru Git - kernel.git/commit
[SCSI] isci: fix 32-bit operation when CONFIG_HIGHMEM64G=n
authorDan Williams <dan.j.williams@intel.com>
Sat, 30 Jul 2011 00:16:45 +0000 (17:16 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 24 Aug 2011 02:50:27 +0000 (19:50 -0700)
commitf514ab96068324191e05f9c1b7dc37d7cf47822b
treed7aeaef179c98df3135d4ad5a872643d226b691c
parent03e0e01af4f872adbb5bd2dadcaf39dd3a17fde0
[SCSI] isci: fix 32-bit operation when CONFIG_HIGHMEM64G=n

The unsolicited frame control infrastructure requires a table of dma
addresses for the hardware to lookup the frame buffer location by an
index.  The hardware expects the elements of this table to be 64-bit
quantities, so we cannot reference these elements as dma_addr_t.  All
unsolicited frame protocols are affected, particularly SATA-PIO and SMP
which prevented direct-attached SATA drives and expander-attached drives
to not be discovered.

Cc: <stable@kernel.org>
Reported-by: Jacek Danecki <jacek.danecki@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/isci/unsolicited_frame_control.c
drivers/scsi/isci/unsolicited_frame_control.h