PCI: kirin: De-init the dwc driver
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 21 Oct 2021 10:45:19 +0000 (11:45 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 4 Nov 2021 19:34:23 +0000 (14:34 -0500)
The logic under .remove ops is missing a call to dw_pcie_host_deinit(). Add
it, in order to allow the DWC core to be properly cleaned up.

Link: https://lore.kernel.org/r/838621e1c84ebaac153ccd9c36ea5e1254c61ead.1634812676.git.mchehab+huawei@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Xiaowei Song <songxiaowei@hisilicon.com>
drivers/pci/controller/dwc/pcie-kirin.c

index 1878c91..24c596d 100644 (file)
@@ -751,6 +751,8 @@ static int __exit kirin_pcie_remove(struct platform_device *pdev)
 {
        struct kirin_pcie *kirin_pcie = platform_get_drvdata(pdev);
 
+       dw_pcie_host_deinit(&kirin_pcie->pci->pp);
+
        kirin_pcie_power_off(kirin_pcie);
 
        return 0;