aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_mid.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_mid.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_mid.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c
index e7565765fa14..9a850a24b38a 100644
--- a/drivers/scsi/qla2xxx/qla_mid.c
+++ b/drivers/scsi/qla2xxx/qla_mid.c
@@ -277,7 +277,8 @@ qla2x00_do_dpc_vp(scsi_qla_host_t *vha)
277 clear_bit(RESET_ACTIVE, &vha->dpc_flags); 277 clear_bit(RESET_ACTIVE, &vha->dpc_flags);
278 } 278 }
279 279
280 if (test_and_clear_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags)) { 280 if (atomic_read(&vha->vp_state) == VP_ACTIVE &&
281 test_and_clear_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags)) {
281 if (!(test_and_set_bit(LOOP_RESYNC_ACTIVE, &vha->dpc_flags))) { 282 if (!(test_and_set_bit(LOOP_RESYNC_ACTIVE, &vha->dpc_flags))) {
282 qla2x00_loop_resync(vha); 283 qla2x00_loop_resync(vha);
283 clear_bit(LOOP_RESYNC_ACTIVE, &vha->dpc_flags); 284 clear_bit(LOOP_RESYNC_ACTIVE, &vha->dpc_flags);