summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla4xxx
diff options
context:
space:
mode:
authorMike Hernandez2011-12-02 07:42:07 +0100
committerJames Bottomley2011-12-15 07:57:41 +0100
commit9acf753393cde200e9d25574c6d7d2cf57636001 (patch)
treeb46502cf9d72ddfa83f7cf22be732ecf8757db93 /drivers/scsi/qla4xxx
parent[SCSI] qla4xxx: Perform context resets in case of context failures. (diff)
downloadkernel-qcow2-linux-9acf753393cde200e9d25574c6d7d2cf57636001.tar.gz
kernel-qcow2-linux-9acf753393cde200e9d25574c6d7d2cf57636001.tar.xz
kernel-qcow2-linux-9acf753393cde200e9d25574c6d7d2cf57636001.zip
[SCSI] qla4xxx: Fix CPU lockups when ql4xdontresethba set
Fix issue where CPU lockup is seen when ql4xdontresethba is set and driver is "stuck" in NEED_RESET state handler. Signed-off-by: Mike Hernandez <michael.hernandez@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla4xxx')
-rw-r--r--drivers/scsi/qla4xxx/ql4_nx.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_nx.c b/drivers/scsi/qla4xxx/ql4_nx.c
index f484ff438199..7fc29c6ff57e 100644
--- a/drivers/scsi/qla4xxx/ql4_nx.c
+++ b/drivers/scsi/qla4xxx/ql4_nx.c
@@ -1836,6 +1836,10 @@ int qla4_8xxx_device_state_handler(struct scsi_qla_host *ha)
* reset handler */
dev_init_timeout = jiffies +
(ha->nx_dev_init_timeout * HZ);
+ } else {
+ qla4_8xxx_idc_unlock(ha);
+ msleep(1000);
+ qla4_8xxx_idc_lock(ha);
}
qla4_8xxx_idc_unlock(ha);
break;