Browse Source

[SCSI] qla2xxx: Preserve an fcport's loop-id after terminate_rport_io().

Since in some circumstances, login-retries may be occuring in the
background via the DPC routine.  This race, in the inadvertant
setting of the loop-id to 'NONE' breaks the existing retry logic.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Andrew Vasquez 16 years ago
parent
commit
be67e6530b
1 changed files with 1 additions and 3 deletions
  1. 1 3
      drivers/scsi/qla2xxx/qla_attr.c

+ 1 - 3
drivers/scsi/qla2xxx/qla_attr.c

@@ -1036,12 +1036,10 @@ qla2x00_terminate_rport_io(struct fc_rport *rport)
 	 * At this point all fcport's software-states are cleared.  Perform any
 	 * final cleanup of firmware resources (PCBs and XCBs).
 	 */
-	if (fcport->loop_id != FC_NO_LOOP_ID) {
+	if (fcport->loop_id != FC_NO_LOOP_ID)
 		fcport->vha->hw->isp_ops->fabric_logout(fcport->vha,
 			fcport->loop_id, fcport->d_id.b.domain,
 			fcport->d_id.b.area, fcport->d_id.b.al_pa);
-		fcport->loop_id = FC_NO_LOOP_ID;
-	}
 
 	qla2x00_abort_fcport_cmds(fcport);
 }