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.kenn...@broadcom.com>
Signed-off-by: James Smart <james.sm...@broadcom.com>
---
 drivers/scsi/lpfc/lpfc_els.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c
index 95872a0329ad..a708d80cb609 100644
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -2962,8 +2962,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;
 }
 
-- 
2.13.1

Reply via email to