Commit 1c1dbb2c authored by Dinghao Liu's avatar Dinghao Liu Committed by Lorenzo Pieralisi
Browse files

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.cn


Signed-off-by: default avatarDinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: default avatarThierry Reding <treding@nvidia.com>
Acked-by: default avatarVidya Sagar <vidyas@nvidia.com>
parent 63605f1c
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -1623,7 +1623,7 @@ static int tegra_pcie_config_rp(struct tegra_pcie_dw *pcie)
	ret = pinctrl_pm_select_default_state(dev);
	if (ret < 0) {
		dev_err(dev, "Failed to configure sideband pins: %d\n", ret);
		goto fail_pinctrl;
		goto fail_pm_get_sync;
	}

	tegra_pcie_init_controller(pcie);
@@ -1650,9 +1650,8 @@ static int tegra_pcie_config_rp(struct tegra_pcie_dw *pcie)

fail_host_init:
	tegra_pcie_deinit_controller(pcie);
fail_pinctrl:
	pm_runtime_put_sync(dev);
fail_pm_get_sync:
	pm_runtime_put_sync(dev);
	pm_runtime_disable(dev);
	return ret;
}