aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_mr.c
diff options
context:
space:
mode:
authorSaurav Kashyap <saurav.kashyap@qlogic.com>2014-02-26 04:15:03 -0500
committerJames Bottomley <JBottomley@Parallels.com>2014-03-15 13:17:49 -0400
commit965c77a62b70fe3af3654a92f28d62857e7e6de7 (patch)
treeb4388abc3b21a8206314e20f06457856ef7d06d5 /drivers/scsi/qla2xxx/qla_mr.c
parent1ca60e3b0dcbf1ab2be77eeaf50b048c6e9fd62f (diff)
[SCSI] qla2xxx: Properly handle 32 bit mailbox register for ISPFX00.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_mr.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_mr.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mr.c b/drivers/scsi/qla2xxx/qla_mr.c
index 9839da866fea..ed44ec68c04d 100644
--- a/drivers/scsi/qla2xxx/qla_mr.c
+++ b/drivers/scsi/qla2xxx/qla_mr.c
@@ -2916,9 +2916,9 @@ qlafx00_async_event(scsi_qla_host_t *vha)
2916 break; 2916 break;
2917 2917
2918 case QLAFX00_MBA_PORT_UPDATE: /* Port database update */ 2918 case QLAFX00_MBA_PORT_UPDATE: /* Port database update */
2919 ha->aenmb[1] = RD_REG_WORD(&reg->aenmailbox1); 2919 ha->aenmb[1] = RD_REG_DWORD(&reg->aenmailbox1);
2920 ha->aenmb[2] = RD_REG_WORD(&reg->aenmailbox2); 2920 ha->aenmb[2] = RD_REG_DWORD(&reg->aenmailbox2);
2921 ha->aenmb[3] = RD_REG_WORD(&reg->aenmailbox3); 2921 ha->aenmb[3] = RD_REG_DWORD(&reg->aenmailbox3);
2922 ql_dbg(ql_dbg_async, vha, 0x5077, 2922 ql_dbg(ql_dbg_async, vha, 0x5077,
2923 "Asynchronous port Update received " 2923 "Asynchronous port Update received "
2924 "aenmb[0]: %x, aenmb[1]: %x, aenmb[2]: %x, aenmb[3]: %x\n", 2924 "aenmb[0]: %x, aenmb[1]: %x, aenmb[2]: %x, aenmb[3]: %x\n",
@@ -2975,7 +2975,7 @@ static void
2975qlafx00_mbx_completion(scsi_qla_host_t *vha, uint32_t mb0) 2975qlafx00_mbx_completion(scsi_qla_host_t *vha, uint32_t mb0)
2976{ 2976{
2977 uint16_t cnt; 2977 uint16_t cnt;
2978 uint16_t __iomem *wptr; 2978 uint32_t __iomem *wptr;
2979 struct qla_hw_data *ha = vha->hw; 2979 struct qla_hw_data *ha = vha->hw;
2980 struct device_reg_fx00 __iomem *reg = &ha->iobase->ispfx00; 2980 struct device_reg_fx00 __iomem *reg = &ha->iobase->ispfx00;
2981 2981
@@ -2985,10 +2985,10 @@ qlafx00_mbx_completion(scsi_qla_host_t *vha, uint32_t mb0)
2985 /* Load return mailbox registers. */ 2985 /* Load return mailbox registers. */
2986 ha->flags.mbox_int = 1; 2986 ha->flags.mbox_int = 1;
2987 ha->mailbox_out32[0] = mb0; 2987 ha->mailbox_out32[0] = mb0;
2988 wptr = (uint16_t __iomem *)&reg->mailbox17; 2988 wptr = (uint32_t __iomem *)&reg->mailbox17;
2989 2989
2990 for (cnt = 1; cnt < ha->mbx_count; cnt++) { 2990 for (cnt = 1; cnt < ha->mbx_count; cnt++) {
2991 ha->mailbox_out32[cnt] = RD_REG_WORD(wptr); 2991 ha->mailbox_out32[cnt] = RD_REG_DWORD(wptr);
2992 wptr++; 2992 wptr++;
2993 } 2993 }
2994} 2994}