scsi: qla2xxx: add more FW debug information
authorQuinn Tran <qutran@marvell.com>
Wed, 26 Feb 2020 22:40:14 +0000 (14:40 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 29 Feb 2020 01:32:33 +0000 (20:32 -0500)
Per FW request, MB 1-7 should be logged for 8002 error.

Link: https://lore.kernel.org/r/20200226224022.24518-11-hmadhani@marvell.com
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_isr.c

index 9a14349e8376d4e9850fa6b05aeedcac862dfabe..117bb2998f19d201be79dd7c6bcaf6b77ce93d68 100644 (file)
@@ -854,12 +854,24 @@ skip_rio:
                break;
 
        case MBA_SYSTEM_ERR:            /* System Error */
-               mbx = (IS_QLA81XX(ha) || IS_QLA83XX(ha) || IS_QLA27XX(ha) ||
-                   IS_QLA28XX(ha)) ?
-                       RD_REG_WORD(&reg24->mailbox7) : 0;
-               ql_log(ql_log_warn, vha, 0x5003,
-                   "ISP System Error - mbx1=%xh mbx2=%xh mbx3=%xh "
-                   "mbx7=%xh.\n", mb[1], mb[2], mb[3], mbx);
+               mbx = 0;
+               if (IS_QLA81XX(ha) || IS_QLA83XX(ha) ||
+                   IS_QLA27XX(ha) || IS_QLA28XX(ha)) {
+                       u16 m[4];
+
+                       m[0] = RD_REG_WORD(&reg24->mailbox4);
+                       m[1] = RD_REG_WORD(&reg24->mailbox5);
+                       m[2] = RD_REG_WORD(&reg24->mailbox6);
+                       mbx = m[3] = RD_REG_WORD(&reg24->mailbox7);
+
+                       ql_log(ql_log_warn, vha, 0x5003,
+                           "ISP System Error - mbx1=%xh mbx2=%xh mbx3=%xh mbx4=%xh mbx5=%xh mbx6=%xh mbx7=%xh.\n",
+                           mb[1], mb[2], mb[3], m[0], m[1], m[2], m[3]);
+               } else
+                       ql_log(ql_log_warn, vha, 0x5003,
+                           "ISP System Error - mbx1=%xh mbx2=%xh mbx3=%xh.\n ",
+                           mb[1], mb[2], mb[3]);
+
                ha->fw_dump_mpi =
                    (IS_QLA27XX(ha) || IS_QLA28XX(ha)) &&
                    RD_REG_WORD(&reg24->mailbox7) & BIT_8;