[SCSI] qla2xxx: Send all AENs for ISPFx00 to above layers.
authorArmen Baloyan <armen.baloyan@qlogic.com>
Tue, 27 Aug 2013 05:37:43 +0000 (01:37 -0400)
committerJames Bottomley <JBottomley@Parallels.com>
Tue, 3 Sep 2013 14:28:04 +0000 (07:28 -0700)
Signed-off-by: Armen Baloyan <armen.baloyan@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/qla2xxx/qla_mr.c

index 85587de105a7c1041e0067086343f1acf8a319dd..ae1d00c68f4904c88ebfbd798306cae8be227161 100644 (file)
@@ -1734,6 +1734,10 @@ qlafx00_process_aen(struct scsi_qla_host *vha, struct qla_work_evt *evt)
        aen_data = evt->u.aenfx.evtcode;
 
        switch (evt->u.aenfx.evtcode) {
+       case QLAFX00_MBA_SHUTDOWN_RQSTD: /* FW shutdown pending */
+               set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
+               rval = qlafx00_driver_shutdown(vha, 10);
+               break;
        case QLAFX00_MBA_PORT_UPDATE:           /* Port database update */
                if (evt->u.aenfx.mbx[1] == 0) {
                        if (evt->u.aenfx.mbx[2] == 1) {
@@ -2920,8 +2924,6 @@ qlafx00_async_event(scsi_qla_host_t *vha)
                    "Asynchronous critical temperature event received "
                    "aenmb[0]: %x\n",
                ha->aenmb[0]);
-               qlafx00_post_aenfx_work(vha, ha->aenmb[0],
-                   (uint32_t *)ha->aenmb, 1);
                break;
 
        default: