diff options
author | Saurav Kashyap <saurav.kashyap@qlogic.com> | 2014-02-26 04:15:03 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2014-03-15 13:17:49 -0400 |
commit | 965c77a62b70fe3af3654a92f28d62857e7e6de7 (patch) | |
tree | b4388abc3b21a8206314e20f06457856ef7d06d5 /drivers/scsi/qla2xxx/qla_mr.c | |
parent | 1ca60e3b0dcbf1ab2be77eeaf50b048c6e9fd62f (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.c | 12 |
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(®->aenmailbox1); | 2919 | ha->aenmb[1] = RD_REG_DWORD(®->aenmailbox1); |
2920 | ha->aenmb[2] = RD_REG_WORD(®->aenmailbox2); | 2920 | ha->aenmb[2] = RD_REG_DWORD(®->aenmailbox2); |
2921 | ha->aenmb[3] = RD_REG_WORD(®->aenmailbox3); | 2921 | ha->aenmb[3] = RD_REG_DWORD(®->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 | |||
2975 | qlafx00_mbx_completion(scsi_qla_host_t *vha, uint32_t mb0) | 2975 | qlafx00_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 *)®->mailbox17; | 2988 | wptr = (uint32_t __iomem *)®->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 | } |