summaryrefslogtreecommitdiff
path: root/drivers/scsi/isci/unsolicited_frame_control.h
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-07-29 17:16:45 -0700
committerJames Bottomley <JBottomley@Parallels.com>2011-08-23 19:50:27 -0700
commitee33e2b771f9e9e4aaba2bb2ace7b727fe451a8b (patch)
treed7aeaef179c98df3135d4ad5a872643d226b691c /drivers/scsi/isci/unsolicited_frame_control.h
parent1a878284473284f9577d44babf16d87152a05c33 (diff)
[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>
Diffstat (limited to 'drivers/scsi/isci/unsolicited_frame_control.h')
-rw-r--r--drivers/scsi/isci/unsolicited_frame_control.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/isci/unsolicited_frame_control.h b/drivers/scsi/isci/unsolicited_frame_control.h
index 31cb9506f52d..75d896686f5a 100644
--- a/drivers/scsi/isci/unsolicited_frame_control.h
+++ b/drivers/scsi/isci/unsolicited_frame_control.h
@@ -214,7 +214,7 @@ struct sci_uf_address_table_array {
* starting address of the UF address table.
* 64-bit pointers are required by the hardware.
*/
- dma_addr_t *array;
+ u64 *array;
/**
* This field specifies the physical address location for the UF