]> www.infradead.org Git - users/hch/misc.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)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 17 Sep 2025 02:19:59 +0000 (22:19 -0400)
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>
drivers/scsi/lpfc/lpfc_sli.c

index f84dca848bf064025b8e068ad6efff791c8298bb..e1f5310f63533c5571b4fddb960ae6a1a06cbe5c 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);