From: Andrew Vasquez Date: Tue, 24 Mar 2009 16:08:02 +0000 (-0700) Subject: [SCSI] qla2xxx: Preserve an fcport's loop-id after terminate_rport_io(). X-Git-Tag: v2.6.30-rc1~185^2~61 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=be67e6530b006b10380a5f0c49cdf974426a22e9;p=karo-tx-linux.git [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 Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c index ee9d40152430..664d610d333f 100644 --- a/drivers/scsi/qla2xxx/qla_attr.c +++ b/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); }