提交 1c1dbb2c 编写于 作者: D Dinghao Liu 提交者: Lorenzo Pieralisi

PCI: tegra194: Fix runtime PM imbalance on error

pm_runtime_get_sync() increments the runtime PM usage counter even
when it returns an error code. Thus a pairing decrement is needed on
the error handling path to keep the counter balanced.

Link: https://lore.kernel.org/r/20200521031355.7022-1-dinghao.liu@zju.edu.cnSigned-off-by: NDinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: NThierry Reding <treding@nvidia.com>
Acked-by: NVidya Sagar <vidyas@nvidia.com>
上级 63605f1c
...@@ -1623,7 +1623,7 @@ static int tegra_pcie_config_rp(struct tegra_pcie_dw *pcie) ...@@ -1623,7 +1623,7 @@ static int tegra_pcie_config_rp(struct tegra_pcie_dw *pcie)
ret = pinctrl_pm_select_default_state(dev); ret = pinctrl_pm_select_default_state(dev);
if (ret < 0) { if (ret < 0) {
dev_err(dev, "Failed to configure sideband pins: %d\n", ret); dev_err(dev, "Failed to configure sideband pins: %d\n", ret);
goto fail_pinctrl; goto fail_pm_get_sync;
} }
tegra_pcie_init_controller(pcie); tegra_pcie_init_controller(pcie);
...@@ -1650,9 +1650,8 @@ static int tegra_pcie_config_rp(struct tegra_pcie_dw *pcie) ...@@ -1650,9 +1650,8 @@ static int tegra_pcie_config_rp(struct tegra_pcie_dw *pcie)
fail_host_init: fail_host_init:
tegra_pcie_deinit_controller(pcie); tegra_pcie_deinit_controller(pcie);
fail_pinctrl:
pm_runtime_put_sync(dev);
fail_pm_get_sync: fail_pm_get_sync:
pm_runtime_put_sync(dev);
pm_runtime_disable(dev); pm_runtime_disable(dev);
return ret; return ret;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册