PCI: sg2042: Fix a reference count issue in sg2042_pcie_remove()

devm_pm_runtime_enable() is used in the probe, so pm_runtime_disable()
should not be called explicitly in the remove function.

Fixes: 1c72774df0 ("PCI: sg2042: Add Sophgo SG2042 PCIe driver")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Tested-by: Chen Wang <unicorn_wang@outlook.com> # on Pioneerbox.
Acked-by: Chen Wang <unicorn_wang@outlook.com>
Link: https://patch.msgid.link/242eca0ff6601de7966a53706e9950fbcb10aac8.1759169586.git.christophe.jaillet@wanadoo.fr
This commit is contained in:
Christophe JAILLET 2025-09-29 20:13:22 +02:00 committed by Manivannan Sadhasivam
parent 3a86608788
commit 932ec9dff6
1 changed files with 0 additions and 3 deletions

View File

@ -74,15 +74,12 @@ static int sg2042_pcie_probe(struct platform_device *pdev)
static void sg2042_pcie_remove(struct platform_device *pdev) static void sg2042_pcie_remove(struct platform_device *pdev)
{ {
struct cdns_pcie *pcie = platform_get_drvdata(pdev); struct cdns_pcie *pcie = platform_get_drvdata(pdev);
struct device *dev = &pdev->dev;
struct cdns_pcie_rc *rc; struct cdns_pcie_rc *rc;
rc = container_of(pcie, struct cdns_pcie_rc, pcie); rc = container_of(pcie, struct cdns_pcie_rc, pcie);
cdns_pcie_host_disable(rc); cdns_pcie_host_disable(rc);
cdns_pcie_disable_phy(pcie); cdns_pcie_disable_phy(pcie);
pm_runtime_disable(dev);
} }
static int sg2042_pcie_suspend_noirq(struct device *dev) static int sg2042_pcie_suspend_noirq(struct device *dev)