forked from Minki/linux
qla2xxx: Shutdown board on thermal shutdown aen.
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com> Signed-off-by: Himanshu Madhani <himanshu.madhani@qlogic.com> Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
ad1ef1777d
commit
a29b3dd7aa
@ -27,7 +27,7 @@
|
||||
* | | | 0x303a |
|
||||
* | DPC Thread | 0x4023 | 0x4002,0x4013 |
|
||||
* | Async Events | 0x5089 | 0x502b-0x502f |
|
||||
* | | | 0x505e |
|
||||
* | | | 0x5047 |
|
||||
* | | | 0x5084,0x5075 |
|
||||
* | | | 0x503d,0x5044 |
|
||||
* | | | 0x507b,0x505f |
|
||||
|
@ -829,6 +829,7 @@ struct mbx_cmd_32 {
|
||||
#define MBA_FW_RESTART_CMPLT 0x8060 /* Firmware restart complete */
|
||||
#define MBA_INIT_REQUIRED 0x8061 /* Initialization required */
|
||||
#define MBA_SHUTDOWN_REQUESTED 0x8062 /* Shutdown Requested */
|
||||
#define MBA_TEMPERATURE_ALERT 0x8070 /* Temperature Alert */
|
||||
#define MBA_DPORT_DIAGNOSTICS 0x8080 /* D-port Diagnostics */
|
||||
#define MBA_FW_INIT_FAILURE 0x8401 /* Firmware initialization failure */
|
||||
#define MBA_MIRROR_LUN_CHANGE 0x8402 /* Mirror LUN State Change
|
||||
|
@ -1158,6 +1158,13 @@ global_port_update:
|
||||
mb[1] == 2 ? "done (error)" : "other");
|
||||
break;
|
||||
|
||||
case MBA_TEMPERATURE_ALERT:
|
||||
ql_dbg(ql_dbg_async, vha, 0x505e,
|
||||
"TEMPERATURE ALERT: %04x %04x %04x\n", mb[1], mb[2], mb[3]);
|
||||
if (mb[1] == 0x12)
|
||||
schedule_work(&ha->board_disable);
|
||||
break;
|
||||
|
||||
default:
|
||||
ql_dbg(ql_dbg_async, vha, 0x5057,
|
||||
"Unknown AEN:%04x %04x %04x %04x\n",
|
||||
|
@ -2901,6 +2901,10 @@ skip_dpc:
|
||||
qlt_add_target(ha, base_vha);
|
||||
|
||||
clear_bit(PFLG_DRIVER_PROBING, &base_vha->pci_flags);
|
||||
|
||||
if (test_bit(UNLOADING, &base_vha->dpc_flags))
|
||||
return -ENODEV;
|
||||
|
||||
return 0;
|
||||
|
||||
probe_init_failed:
|
||||
@ -2947,7 +2951,10 @@ iospace_config_failed:
|
||||
ha = NULL;
|
||||
|
||||
probe_out:
|
||||
pci_disable_pcie_error_reporting(pdev);
|
||||
pci_disable_device(pdev);
|
||||
if (test_bit(UNLOADING, &base_vha->dpc_flags))
|
||||
return -ENODEV;
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -5002,6 +5009,9 @@ qla2x00_do_dpc(void *data)
|
||||
"DPC handler waking up, dpc_flags=0x%lx.\n",
|
||||
base_vha->dpc_flags);
|
||||
|
||||
if (test_bit(UNLOADING, &base_vha->dpc_flags))
|
||||
break;
|
||||
|
||||
qla2x00_do_work(base_vha);
|
||||
|
||||
if (IS_P3P_TYPE(ha)) {
|
||||
|
Loading…
Reference in New Issue
Block a user