summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/qla2xxx')
-rw-r--r--drivers/scsi/qla2xxx/qla_mr.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mr.c b/drivers/scsi/qla2xxx/qla_mr.c
index 85587de105a..ae1d00c68f4 100644
--- a/drivers/scsi/qla2xxx/qla_mr.c
+++ b/drivers/scsi/qla2xxx/qla_mr.c
@@ -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: