scsi: lpfc: Fix "Unexpected timeout" error in direct attach topology
[ Upstream commit e30d55137edef47434c40d7570276a0846fe922c ] An 'unexpected timeout' message may be seen in a point-2-point topology. The message occurs when a PLOGI is received before the driver is notified of FLOGI completion. The FLOGI completion failure causes discovery to be triggered for a second time. The discovery timer is restarted but no new discovery activity is initiated, thus the timeout message eventually appears. In point-2-point, when discovery has progressed before the FLOGI completion is processed, it is not a failure. Add code to FLOGI completion to detect that discovery has progressed and exit the FLOGI handling (noop'ing it). Link: https://lore.kernel.org/r/20210514195559.119853-4-jsmart2021@gmail.com Co-developed-by: Justin Tee <justin.tee@broadcom.com> Signed-off-by: Justin Tee <justin.tee@broadcom.com> Signed-off-by: James Smart <jsmart2021@gmail.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
bb1d1c2149
commit
2626d5ed6b
@@ -1179,6 +1179,15 @@ stop_rr_fcf_flogi:
|
|||||||
phba->fcf.fcf_redisc_attempted = 0; /* reset */
|
phba->fcf.fcf_redisc_attempted = 0; /* reset */
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
} else if (vport->port_state > LPFC_FLOGI &&
|
||||||
|
vport->fc_flag & FC_PT2PT) {
|
||||||
|
/*
|
||||||
|
* In a p2p topology, it is possible that discovery has
|
||||||
|
* already progressed, and this completion can be ignored.
|
||||||
|
* Recheck the indicated topology.
|
||||||
|
*/
|
||||||
|
if (!sp->cmn.fPort)
|
||||||
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
flogifail:
|
flogifail:
|
||||||
|
Reference in New Issue
Block a user