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 388a481c811824cd34c74daff635665ce2454b22..467c255bbe4c3eaac214f05c632bf2fdd28d5889 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);
                        }