]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
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)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 3 Oct 2011 18:40:23 +0000 (11:40 -0700)
commitf3919ef81224e33c867882453cd33036ac0ed7ee
tree98e9fdf95bf64a9ce33d4128721c96cd57aa5b68
parent60c48a44d308985ccc6335d4591d75acc7e1da77
isci: fix 32-bit operation when CONFIG_HIGHMEM64G=n

commit ee33e2b771f9e9e4aaba2bb2ace7b727fe451a8b upstream.

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.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/scsi/isci/unsolicited_frame_control.c
drivers/scsi/isci/unsolicited_frame_control.h