]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
powerpc/powernv/pci: Fix possible crash when releasing DMA resources
authorFrederic Barrat <fbarrat@linux.ibm.com>
Wed, 19 Aug 2020 13:07:41 +0000 (15:07 +0200)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 20 Aug 2020 02:30:40 +0000 (12:30 +1000)
Fix a typo introduced during recent code cleanup, which could lead to
silently not freeing resources or an oops message (on PCI hotplug or
CAPI reset).

Only impacts ioda2, the code path for ioda1 is correct.

Fixes: 01e12629af4e ("powerpc/powernv/pci: Add explicit tracking of the DMA setup state")
Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
Reviewed-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200819130741.16769-1-fbarrat@linux.ibm.com
arch/powerpc/platforms/powernv/pci-ioda.c

index c9c25fb0783c4c79f8b36c89cceda0d1d0982b86..023a4f987bb22d5c25955ac93dd2275593cbf0f9 100644 (file)
@@ -2705,7 +2705,7 @@ void pnv_pci_ioda2_release_pe_dma(struct pnv_ioda_pe *pe)
        struct iommu_table *tbl = pe->table_group.tables[0];
        int64_t rc;
 
-       if (pe->dma_setup_done)
+       if (!pe->dma_setup_done)
                return;
 
        rc = pnv_pci_ioda2_unset_window(&pe->table_group, 0);