|
@@ -272,7 +272,8 @@ qla2x00_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0)
|
|
|
struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
|
|
|
|
|
|
/* Read all mbox registers? */
|
|
|
- mboxes = (1 << ha->mbx_count) - 1;
|
|
|
+ WARN_ON_ONCE(ha->mbx_count > 32);
|
|
|
+ mboxes = (1ULL << ha->mbx_count) - 1;
|
|
|
if (!ha->mcp)
|
|
|
ql_dbg(ql_dbg_async, vha, 0x5001, "MBX pointer ERROR.\n");
|
|
|
else
|
|
@@ -2880,7 +2881,8 @@ qla24xx_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0)
|
|
|
struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;
|
|
|
|
|
|
/* Read all mbox registers? */
|
|
|
- mboxes = (1 << ha->mbx_count) - 1;
|
|
|
+ WARN_ON_ONCE(ha->mbx_count > 32);
|
|
|
+ mboxes = (1ULL << ha->mbx_count) - 1;
|
|
|
if (!ha->mcp)
|
|
|
ql_dbg(ql_dbg_async, vha, 0x504e, "MBX pointer ERROR.\n");
|
|
|
else
|