[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>
This commit is contained in:
Andrew Vasquez 2009-03-24 09:08:02 -07:00 committed by James Bottomley
parent b64b0e8fd9
commit be67e6530b

View File

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