]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
scsi: mpi3mr: Fix config page DMA memory leak
authorTomas Henzl <thenzl@redhat.com>
Thu, 2 Mar 2023 23:43:32 +0000 (00:43 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 8 Mar 2023 02:17:22 +0000 (21:17 -0500)
A fix for:

DMA-API: pci 0000:83:00.0: device driver has pending DMA allocations while released from device [count=1]

Fixes: 32d457d5a2af ("scsi: mpi3mr: Add framework to issue config requests")
Signed-off-by: Tomas Henzl <thenzl@redhat.com>
Link: https://lore.kernel.org/r/20230302234336.25456-3-thenzl@redhat.com
Acked-by: Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpi3mr/mpi3mr_fw.c

index 514ccf29cd7faa3b6b262962f1734952e5659ca8..0736e6a59e81c07fa8671b0ad71be0f525e1cf2d 100644 (file)
@@ -4382,7 +4382,11 @@ void mpi3mr_free_mem(struct mpi3mr_ioc *mrioc)
                    mrioc->admin_req_base, mrioc->admin_req_dma);
                mrioc->admin_req_base = NULL;
        }
-
+       if (mrioc->cfg_page) {
+               dma_free_coherent(&mrioc->pdev->dev, mrioc->cfg_page_sz,
+                   mrioc->cfg_page, mrioc->cfg_page_dma);
+               mrioc->cfg_page = NULL;
+       }
        if (mrioc->pel_seqnum_virt) {
                dma_free_coherent(&mrioc->pdev->dev, mrioc->pel_seqnum_sz,
                    mrioc->pel_seqnum_virt, mrioc->pel_seqnum_dma);