|
@@ -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);
|