[SCSI] qla2xxx: Prevent CPU lockups when "ql2xdontresethba" module param is set.
[pandora-kernel.git] / drivers / scsi / qla2xxx / qla_nx.c
index b03c86b..fe9db22 100644 (file)
@@ -3761,10 +3761,15 @@ qla82xx_device_state_handler(scsi_qla_host_t *vha)
                        qla82xx_idc_lock(ha);
                        break;
                case QLA82XX_DEV_NEED_RESET:
-                   if (!ql2xdontresethba)
-                       qla82xx_need_reset_handler(vha);
+                       if (!ql2xdontresethba)
+                               qla82xx_need_reset_handler(vha);
+                       else {
+                               qla82xx_idc_unlock(ha);
+                               msleep(1000);
+                               qla82xx_idc_lock(ha);
+                       }
                        dev_init_timeout = jiffies +
-                               (ha->nx_dev_init_timeout * HZ);
+                           (ha->nx_dev_init_timeout * HZ);
                        break;
                case QLA82XX_DEV_NEED_QUIESCENT:
                        qla82xx_need_qsnt_handler(vha);