Commit 58b48576966ed0afd3f63ef17480ec12748a7119

Authored by Andrew Vasquez
Committed by James Bottomley
1 parent 3553d343e7

[SCSI] qla2xxx: Correct inadvertent loop state transitions during port-update handling.

Transitioning to a LOOP_UPDATE loop-state could cause the driver
to miss normal link/target processing.  LOOP_UPDATE is a crufty
artifact leftover from at time the driver performed it's own
internal command-queuing.  Safely remove this state.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

Showing 2 changed files with 0 additions and 4 deletions Side-by-side Diff

drivers/scsi/qla2xxx/qla_init.c
... ... @@ -3838,15 +3838,12 @@
3838 3838 req = vha->req;
3839 3839 rsp = req->rsp;
3840 3840  
3841   - atomic_set(&vha->loop_state, LOOP_UPDATE);
3842 3841 clear_bit(ISP_ABORT_RETRY, &vha->dpc_flags);
3843 3842 if (vha->flags.online) {
3844 3843 if (!(rval = qla2x00_fw_ready(vha))) {
3845 3844 /* Wait at most MAX_TARGET RSCNs for a stable link. */
3846 3845 wait_time = 256;
3847 3846 do {
3848   - atomic_set(&vha->loop_state, LOOP_UPDATE);
3849   -
3850 3847 /* Issue a marker after FW becomes ready. */
3851 3848 qla2x00_marker(vha, req, rsp, 0, 0,
3852 3849 MK_SYNC_ALL);
drivers/scsi/qla2xxx/qla_isr.c
... ... @@ -719,7 +719,6 @@
719 719 vha->flags.rscn_queue_overflow = 1;
720 720 }
721 721  
722   - atomic_set(&vha->loop_state, LOOP_UPDATE);
723 722 atomic_set(&vha->loop_down_timer, 0);
724 723 vha->flags.management_server_logged_in = 0;
725 724