pm_runtime_get_sync will increment pm usage counter even it failed. Forgetting to pm_runtime_put_noidle will result in reference leak in pex_ep_event_pex_rst_deassert, so we should fix it. Fixes: c57247f940e8e ("PCI: tegra: Add support for PCIe endpoint mode in Tegra194") Signed-off-by: Zhang Qilong <zhangqilong3@xxxxxxxxxx> --- drivers/pci/controller/dwc/pcie-tegra194.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c index f920e7efe118..936510b5c649 100644 --- a/drivers/pci/controller/dwc/pcie-tegra194.c +++ b/drivers/pci/controller/dwc/pcie-tegra194.c @@ -1662,6 +1662,7 @@ static void pex_ep_event_pex_rst_deassert(struct tegra_pcie_dw *pcie) ret = pm_runtime_get_sync(dev); if (ret < 0) { + pm_runtime_put_noidle(dev); dev_err(dev, "Failed to get runtime sync for PCIe dev: %d\n", ret); return; -- 2.17.1