scsi: lpfc: Fix ndlp ref count for pt2pt mode issue RSCN
authorJames Smart <jsmart2021@gmail.com>
Tue, 21 Nov 2017 00:00:37 +0000 (16:00 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 5 Dec 2017 01:32:54 +0000 (20:32 -0500)
pt2pt ndlp ref count prematurely goes to 0. There was reference removed
that should only be removed if connected to a switch, not if in
point-to-point mode.

Add a mode check before the reference remove.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_els.c

index 1b6a173..9573398 100644 (file)
@@ -2956,8 +2956,8 @@ lpfc_issue_els_scr(struct lpfc_vport *vport, uint32_t nportid, uint8_t retry)
        /* This will cause the callback-function lpfc_cmpl_els_cmd to
         * trigger the release of node.
         */
-
-       lpfc_nlp_put(ndlp);
+       if (!(vport->fc_flag & FC_PT2PT))
+               lpfc_nlp_put(ndlp);
        return 0;
 }