source of highlighter
plain | download
    1 From 1b980e4f8bd508051c7d00744a766aaaf1a0c737 Mon Sep 17 00:00:00 2001
    2 From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>
    3 Date: Thu, 11 Mar 2021 11:56:45 +0100
    4 Subject: [PATCH 6/7] PCI: aardvark: Free config space for emulated root bridge
    5  when unbinding driver to fix memory leak
    6 MIME-Version: 1.0
    7 Content-Type: text/plain; charset=UTF-8
    8 Content-Transfer-Encoding: 8bit
    9 
   10 Do it after disabling and masking all interrupts, since aardvark interrupt
   11 handler accesses config space of emulated root bridge.
   12 
   13 Fixes: 526a76991b7b ("PCI: aardvark: Implement driver 'remove' function and allow to build it as module")
   14 Signed-off-by: Pali Rohár <pali@kernel.org>
   15 Signed-off-by: Marek Behún <kabel@kernel.org>
   16 Cc: stable@vger.kernel.org
   17 ---
   18  drivers/pci/controller/pci-aardvark.c | 3 +++
   19  1 file changed, 3 insertions(+)
   20 
   21 diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
   22 index 08b34accfe2f..b3d89cb449b6 100644
   23 --- a/drivers/pci/controller/pci-aardvark.c
   24 +++ b/drivers/pci/controller/pci-aardvark.c
   25 @@ -1734,6 +1734,9 @@ static int advk_pcie_remove(struct platform_device *pdev)
   26         advk_pcie_remove_msi_irq_domain(pcie);
   27         advk_pcie_remove_irq_domain(pcie);
   28  
   29 +       /* Free config space for emulated root bridge */
   30 +       pci_bridge_emul_cleanup(&pcie->bridge);
   31 +
   32         /* Disable outbound address windows mapping */
   33         for (i = 0; i < OB_WIN_COUNT; i++)
   34                 advk_pcie_disable_ob_win(pcie, i);
   35 -- 
   36 2.32.0
   37