scsi: lpfc: Modify when a node should be put in device recovery mode during RSCN
authorJustin Tee <justin.tee@broadcom.com>
Fri, 4 Aug 2023 19:55:46 +0000 (12:55 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 8 Aug 2023 01:25:47 +0000 (21:25 -0400)
Only nodes whose state is at least past a PLOGI issue and strictly less
than a PRLI issue should be put into device recovery mode upon RSCN
receipt.  Previously, the allowance of LOGO and PRLI completion states did
not make sense because those nodes should be allowed to flow through and
marked as NPort dissappeared as is normally done.  A follow up RSCN GID_FT
would recover those nodes in such cases.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20230804195546.157839-1-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_hbadisc.c

index 388a481..467c255 100644 (file)
@@ -5782,7 +5782,7 @@ lpfc_setup_disc_node(struct lpfc_vport *vport, uint32_t did)
                                return NULL;
 
                        if (ndlp->nlp_state > NLP_STE_UNUSED_NODE &&
-                           ndlp->nlp_state < NLP_STE_NPR_NODE) {
+                           ndlp->nlp_state < NLP_STE_PRLI_ISSUE) {
                                lpfc_disc_state_machine(vport, ndlp, NULL,
                                                        NLP_EVT_DEVICE_RECOVERY);
                        }