Message ID | alpine.LRH.2.21.1803081543250.23373@math.ut.ee (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Meelis, > 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. > > Note: the debug line identifier is the same 0x1198 for both cases. Maybe it > needs to be renumbered in the new case? QLogic folks: Please review the following patches. https://patchwork.kernel.org/patch/10268119/ https://patchwork.kernel.org/patch/10268121/
Meelis, > 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. Amended according to Himanshu's requests and applied to 4.16/scsi-fixes.
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index 7397aed..3a81555 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c @@ -503,11 +503,19 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp) } pr_warn(" cmd=%x ****\n", command); } - ql_dbg(ql_dbg_mbx, vha, 0x1198, - "host_status=%#x intr_ctrl=%#x intr_status=%#x\n", - RD_REG_DWORD(®->isp24.host_status), - RD_REG_DWORD(®->isp24.ictrl), - RD_REG_DWORD(®->isp24.istatus)); + if (IS_FWI2_CAPABLE(ha) && !(IS_P3P_TYPE(ha))) { + ql_dbg(ql_dbg_mbx, vha, 0x1198, + "host_status=%#x intr_ctrl=%#x intr_status=%#x\n", + RD_REG_DWORD(®->isp24.host_status), + RD_REG_DWORD(®->isp24.ictrl), + RD_REG_DWORD(®->isp24.istatus)); + } else { + ql_dbg(ql_dbg_mbx, vha, 0x1198, + "ctrl_status=%#x ictrl=%#x istatus=%#x\n", + RD_REG_WORD(®->isp.ctrl_status), + RD_REG_WORD(®->isp.ictrl), + RD_REG_WORD(®->isp.istatus)); + } } else { ql_dbg(ql_dbg_mbx, base_vha, 0x1021, "Done %s.\n", __func__); }
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. Note: the debug line identifier is the same 0x1198 for both cases. Maybe it needs to be renumbered in the new case? Signed-off-by: Meelis Roos <mroos@linux.ee> --- drivers/scsi/qla2xxx/qla_mbx.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-)