diff options
author | James Smart <jsmart2021@gmail.com> | 2022-04-27 15:21:58 -0700 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2022-05-02 16:59:11 -0400 |
commit | 92bd903da12b0c0c5e9e2f560388fe80bb7ce749 (patch) | |
tree | 6623abfa5a2032f6cd5c3f764e3cb1c476f3f031 | |
parent | 1e029397d12f9085840691f4f12991a80d89888c (diff) | |
download | lwn-92bd903da12b0c0c5e9e2f560388fe80bb7ce749.tar.gz lwn-92bd903da12b0c0c5e9e2f560388fe80bb7ce749.zip |
scsi: lpfc: Fix additional reference counting in lpfc_bsg_rport_els()
Code inspection has found an additional reference is taken in
lpfc_bsg_rport_els(). Results in the ndlp not being freed thus is leaked.
Fix by removing the redundant refcount taken before WQE submission.
Link: https://lore.kernel.org/r/20220427222158.57867-1-jsmart2021@gmail.com
Co-developed-by: Nigel Kirkland <nigel.kirkland@broadcom.com>
Signed-off-by: Nigel Kirkland <nigel.kirkland@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r-- | drivers/scsi/lpfc/lpfc_bsg.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/drivers/scsi/lpfc/lpfc_bsg.c b/drivers/scsi/lpfc/lpfc_bsg.c index ae46383b13bf..676e7d54b97a 100644 --- a/drivers/scsi/lpfc/lpfc_bsg.c +++ b/drivers/scsi/lpfc/lpfc_bsg.c @@ -740,12 +740,6 @@ lpfc_bsg_rport_els(struct bsg_job *job) readl(phba->HCregaddr); /* flush */ } - cmdiocbq->ndlp = lpfc_nlp_get(ndlp); - if (!cmdiocbq->ndlp) { - rc = -EIO; - goto linkdown_err; - } - rc = lpfc_sli_issue_iocb(phba, LPFC_ELS_RING, cmdiocbq, 0); if (rc == IOCB_SUCCESS) { spin_lock_irqsave(&phba->hbalock, flags); |