summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Hernandez <michael.hernandez@qlogic.com>2011-12-02 10:42:07 +0400
committerJames Bottomley <JBottomley@Parallels.com>2011-12-15 10:57:41 +0400
commit9acf753393cde200e9d25574c6d7d2cf57636001 (patch)
treeb46502cf9d72ddfa83f7cf22be732ecf8757db93
parent4c6a794d2c0affde28f46ef5646cd41cd1a35f06 (diff)
downloadlinux-9acf753393cde200e9d25574c6d7d2cf57636001.tar.xz
[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>
-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;