]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: lpfc: Clean up allocated queues when queue setup mbox commands fail
authorJustin Tee <justin.tee@broadcom.com>
Mon, 15 Sep 2025 18:08:00 +0000 (11:08 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:37:25 +0000 (15:37 -0500)
[ Upstream commit 803dfd83df33b7565f23aef597d5dd036adfa792 ]

lpfc_sli4_queue_setup() does not allocate memory and is used for
submitting CREATE_QUEUE mailbox commands.  Thus, if such mailbox
commands fail we should clean up by also freeing the memory allocated
for the queues with lpfc_sli4_queue_destroy().  Change the intended
clean up label for the lpfc_sli4_queue_setup() error case to
out_destroy_queue.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Message-ID: <20250915180811.137530-4-justintee8345@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/lpfc/lpfc_sli.c

index a8fbdf7119d88880a4d194aacee2123871d86efd..d82ea9df098b89d99a100b700c1668c8cbc6c2a0 100644 (file)
@@ -8820,7 +8820,7 @@ lpfc_sli4_hba_setup(struct lpfc_hba *phba)
        if (unlikely(rc)) {
                lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
                                "0381 Error %d during queue setup.\n", rc);
-               goto out_stop_timers;
+               goto out_destroy_queue;
        }
        /* Initialize the driver internal SLI layer lists. */
        lpfc_sli4_setup(phba);
@@ -9103,7 +9103,6 @@ out_free_iocblist:
        lpfc_free_iocb_list(phba);
 out_destroy_queue:
        lpfc_sli4_queue_destroy(phba);
-out_stop_timers:
        lpfc_stop_hba_timers(phba);
 out_free_mbox:
        mempool_free(mboxq, phba->mbox_mem_pool);