123456789101112131415161718192021222324252627282930313233 |
- From 2f040a17f5061457ae95035326d3159eddc1e5cc Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <[email protected]>
- Date: Tue, 30 Nov 2021 18:29:10 +0100
- Subject: [PATCH] PCI: aardvark: Fix memory leak in driver unbind
- MIME-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
- Free config space for emulated root bridge when unbinding driver to fix
- memory leak. Do it after disabling and masking all interrupts, since
- aardvark interrupt handler accesses config space of emulated root
- bridge.
- Link: https://lore.kernel.org/r/[email protected]
- Signed-off-by: Pali Rohár <[email protected]>
- Signed-off-by: Marek Behún <[email protected]>
- Signed-off-by: Lorenzo Pieralisi <[email protected]>
- ---
- drivers/pci/controller/pci-aardvark.c | 3 +++
- 1 file changed, 3 insertions(+)
- --- a/drivers/pci/controller/pci-aardvark.c
- +++ b/drivers/pci/controller/pci-aardvark.c
- @@ -1733,6 +1733,9 @@ static int advk_pcie_remove(struct platf
- advk_pcie_remove_msi_irq_domain(pcie);
- advk_pcie_remove_irq_domain(pcie);
-
- + /* Free config space for emulated root bridge */
- + pci_bridge_emul_cleanup(&pcie->bridge);
- +
- /* Disable outbound address windows mapping */
- for (i = 0; i < OB_WIN_COUNT; i++)
- advk_pcie_disable_ob_win(pcie, i);
|