Skip to content

Commit a801d57

Browse files
Justin Teemartinkpetersen
authored andcommitted
scsi: lpfc: Remove NLP_RCV_PLOGI early return during RSCN processing for ndlps
Upon first RSCN receipt of a target server's remote port that is initially acting as an initiator function, the driver marks the ndlp->nlp_type as an initiator role. Then later, when processing an RSCN for a target function role switch, that ndlp remote port is permanently stuck as an initiator role and can never transition to be discovered as an updated target role function. Remove the NLP_RCV_PLOGI early return if statement clause so that the NLP_NPR_2B_DISC flag gets set. This allows for role change detections. Signed-off-by: Justin Tee <justin.tee@broadcom.com> Link: https://lore.kernel.org/r/20240131185112.149731-7-justintee8345@gmail.com Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent e1b3aca commit a801d57

File tree

1 file changed

+0
-8
lines changed

1 file changed

+0
-8
lines changed

drivers/scsi/lpfc/lpfc_hbadisc.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5774,14 +5774,6 @@ lpfc_setup_disc_node(struct lpfc_vport *vport, uint32_t did)
57745774
if (vport->phba->nvmet_support)
57755775
return ndlp;
57765776

5777-
/* If we've already received a PLOGI from this NPort
5778-
* we don't need to try to discover it again.
5779-
*/
5780-
if (ndlp->nlp_flag & NLP_RCV_PLOGI &&
5781-
!(ndlp->nlp_type &
5782-
(NLP_FCP_TARGET | NLP_NVME_TARGET)))
5783-
return NULL;
5784-
57855777
if (ndlp->nlp_state > NLP_STE_UNUSED_NODE &&
57865778
ndlp->nlp_state < NLP_STE_PRLI_ISSUE) {
57875779
lpfc_disc_state_machine(vport, ndlp, NULL,

0 commit comments

Comments
 (0)