summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid
diff options
context:
space:
mode:
authorHannes Reinecke <hare@suse.de>2014-01-16 11:25:33 +0100
committerJames Bottomley <JBottomley@Parallels.com>2014-03-15 10:19:17 -0700
commitfdc5a97cd8bde59b4c94d0b7ef7f11b163e34246 (patch)
treeb53445d71b14f2dc93f6742d0234a7d4bb521781 /drivers/scsi/megaraid
parent3576fab6313ea3c1b588071dd2355d11f704db11 (diff)
[SCSI] megaraid_sas_fusion: correctly pass queue info pointer
The pointer to the queue info structure is potentially a 64-bit value, so we should be using the correct macros to set the values in the init frame. Signed-off-by: Hannes Reinecke <hare@suse.de> Acked-by: Kashyap Desai <kashyap.desai@lsi.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/megaraid')
-rw-r--r--drivers/scsi/megaraid/megaraid_sas_fusion.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c
index f6555921fd7..9a98bfccc42 100644
--- a/drivers/scsi/megaraid/megaraid_sas_fusion.c
+++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c
@@ -644,7 +644,10 @@ megasas_ioc_init_fusion(struct megasas_instance *instance)
/* Convert capability to LE32 */
cpu_to_le32s((u32 *)&init_frame->driver_operations.mfi_capabilities);
- init_frame->queue_info_new_phys_addr_lo = cpu_to_le32((u32)ioc_init_handle);
+ init_frame->queue_info_new_phys_addr_hi =
+ cpu_to_le32(upper_32_bits(ioc_init_handle));
+ init_frame->queue_info_new_phys_addr_lo =
+ cpu_to_le32(lower_32_bits(ioc_init_handle));
init_frame->data_xfer_len = cpu_to_le32(sizeof(struct MPI2_IOC_INIT_REQUEST));
req_desc =