aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorMeelis Roos <mroos@linux.ee>2018-03-08 08:44:07 -0500
committerMartin K. Petersen <martin.petersen@oracle.com>2018-03-21 18:59:31 -0400
commitf7e59e994fc69ace89f828686d82d528529ea025 (patch)
tree3e414b28e23a1d0160bd1b8079b3cd576815177c /drivers/scsi
parent89d0c804392bb962553f23dc4c119d11b6bd1675 (diff)
scsi: qla2xxx: fix error message on <qla2400
This patch fixes IO traps caught by hardware when mailbox command fails on qla2200. The error handler assumes newer firmware that is available on 2400 and newer HBA-s. This causes ugly crashes on sparc64. Fix it with separate debug prints on different firmware generations like most other places do. [mkp: updated based on feedback from Himanshu] Signed-off-by: Meelis Roos <mroos@linux.ee> Acked-by: Himanshu Madhani <himanshu.madhani@cavium.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/qla2xxx/qla_dbg.c2
-rw-r--r--drivers/scsi/qla2xxx/qla_mbx.c18
2 files changed, 14 insertions, 6 deletions
diff --git a/drivers/scsi/qla2xxx/qla_dbg.c b/drivers/scsi/qla2xxx/qla_dbg.c
index 3e9dc54b89a3..d52ee990707d 100644
--- a/drivers/scsi/qla2xxx/qla_dbg.c
+++ b/drivers/scsi/qla2xxx/qla_dbg.c
@@ -14,7 +14,7 @@
14 * | Module Init and Probe | 0x0193 | 0x0146 | 14 * | Module Init and Probe | 0x0193 | 0x0146 |
15 * | | | 0x015b-0x0160 | 15 * | | | 0x015b-0x0160 |
16 * | | | 0x016e | 16 * | | | 0x016e |
17 * | Mailbox commands | 0x1205 | 0x11a2-0x11ff | 17 * | Mailbox commands | 0x1206 | 0x11a2-0x11ff |
18 * | Device Discovery | 0x2134 | 0x210e-0x2116 | 18 * | Device Discovery | 0x2134 | 0x210e-0x2116 |
19 * | | | 0x211a | 19 * | | | 0x211a |
20 * | | | 0x211c-0x2128 | 20 * | | | 0x211c-0x2128 |
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
index 7397aeddd96c..9a97f2ceffba 100644
--- a/drivers/scsi/qla2xxx/qla_mbx.c
+++ b/drivers/scsi/qla2xxx/qla_mbx.c
@@ -503,11 +503,19 @@ mbx_done:
503 } 503 }
504 pr_warn(" cmd=%x ****\n", command); 504 pr_warn(" cmd=%x ****\n", command);
505 } 505 }
506 ql_dbg(ql_dbg_mbx, vha, 0x1198, 506 if (IS_FWI2_CAPABLE(ha) && !(IS_P3P_TYPE(ha))) {
507 "host_status=%#x intr_ctrl=%#x intr_status=%#x\n", 507 ql_dbg(ql_dbg_mbx, vha, 0x1198,
508 RD_REG_DWORD(&reg->isp24.host_status), 508 "host_status=%#x intr_ctrl=%#x intr_status=%#x\n",
509 RD_REG_DWORD(&reg->isp24.ictrl), 509 RD_REG_DWORD(&reg->isp24.host_status),
510 RD_REG_DWORD(&reg->isp24.istatus)); 510 RD_REG_DWORD(&reg->isp24.ictrl),
511 RD_REG_DWORD(&reg->isp24.istatus));
512 } else {
513 ql_dbg(ql_dbg_mbx, vha, 0x1206,
514 "ctrl_status=%#x ictrl=%#x istatus=%#x\n",
515 RD_REG_WORD(&reg->isp.ctrl_status),
516 RD_REG_WORD(&reg->isp.ictrl),
517 RD_REG_WORD(&reg->isp.istatus));
518 }
511 } else { 519 } else {
512 ql_dbg(ql_dbg_mbx, base_vha, 0x1021, "Done %s.\n", __func__); 520 ql_dbg(ql_dbg_mbx, base_vha, 0x1021, "Done %s.\n", __func__);
513 } 521 }