aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc
diff options
context:
space:
mode:
authorJames Smart <jsmart2021@gmail.com>2022-04-27 15:21:58 -0700
committerMartin K. Petersen <martin.petersen@oracle.com>2022-05-02 16:59:11 -0400
commit92bd903da12b0c0c5e9e2f560388fe80bb7ce749 (patch)
tree6623abfa5a2032f6cd5c3f764e3cb1c476f3f031 /drivers/scsi/lpfc
parentscsi: sd: Reorganize DIF/DIX code to avoid calling revalidate twice (diff)
downloadlinux-dev-92bd903da12b0c0c5e9e2f560388fe80bb7ce749.tar.xz
linux-dev-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>
Diffstat (limited to 'drivers/scsi/lpfc')
-rw-r--r--drivers/scsi/lpfc/lpfc_bsg.c6
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);