]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
qla2xxx: Add support to handle Loop Init error Asynchronus event.
authorJoe Carnuccio <joe.carnuccio@qlogic.com>
Thu, 7 Jul 2016 10:09:34 +0000 (15:39 +0530)
committerChuck Anderson <chuck.anderson@oracle.com>
Wed, 13 Jul 2016 07:41:37 +0000 (00:41 -0700)
Orabug: 23755773

Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com>
Signed-off-by: Ethan Zhao <ethan.zhao@oracle.com>
drivers/scsi/qla2xxx/qla_dbg.c
drivers/scsi/qla2xxx/qla_isr.c

index b8c43ad8e620029de8043f61be00ac9d823a9c92..5903d851d0ac080f327907074fd2e71b2a67dfdf 100644 (file)
@@ -28,7 +28,7 @@
  * | Async Events                 |       0x508a       | 0x502b-0x502f  |
  * |                              |                    | 0x5084,0x5075 |
  * |                              |                    | 0x503d,0x5044  |
- * |                              |                    | 0x507b,0x505f |
+ * |                              |                    | 0x505f                |
  * | Timer Routines               |       0x6012       |                |
  * | User Space Interactions      |       0x70e3       | 0x7018,0x702e  |
  * |                             |                    | 0x7020,0x7024  |
index b0b65b1a83d5260761787b8c9043220d3855654b..4e7384666e2b5b10691d3b130b9858c2bd4e10a7 100644 (file)
@@ -706,16 +706,23 @@ skip_rio:
 
        case MBA_RSP_TRANSFER_ERR:      /* Response Transfer Error */
                ql_log(ql_log_warn, vha, 0x5007,
-                   "ISP Response Transfer Error.\n");
+                   "ISP Response Transfer Error (%x).\n", mb[1]);
 
                set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
                break;
 
        case MBA_WAKEUP_THRES:          /* Request Queue Wake-up */
                ql_dbg(ql_dbg_async, vha, 0x5008,
-                   "Asynchronous WAKEUP_THRES.\n");
+                   "Asynchronous WAKEUP_THRES (%x).\n", mb[1]);
+               break;
 
+       case MBA_LOOP_INIT_ERR:
+               ql_log(ql_log_warn, vha, 0x507b,
+                   "LOOP INIT ERROR (%x).\n", mb[1]);
+               ha->isp_ops->fw_dump(vha, 1);
+               set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
                break;
+
        case MBA_LIP_OCCURRED:          /* Loop Initialization Procedure */
                ql_dbg(ql_dbg_async, vha, 0x5009,
                    "LIP occurred (%x).\n", mb[1]);