summaryrefslogtreecommitdiff
path: root/drivers/scsi/qla2xxx/qla_os.c
diff options
context:
space:
mode:
authorJoe Carnuccio <joe.carnuccio@qlogic.com>2016-07-06 18:14:19 +0300
committerMartin K. Petersen <martin.petersen@oracle.com>2016-07-15 22:31:31 +0300
commita29b3dd7aa14facc902b40b8b5c4dccbfb2ad7d0 (patch)
tree8ebbe20c40a73eb1239ff2410043625560e4d9f9 /drivers/scsi/qla2xxx/qla_os.c
parentad1ef1777d5f3b605fe07062da2f08689c507014 (diff)
downloadlinux-a29b3dd7aa14facc902b40b8b5c4dccbfb2ad7d0.tar.xz
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>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_os.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_os.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 7c0b60ca158f..dc608ce46340 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -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)) {