diff options
author | Dinghao Liu <dinghao.liu@zju.edu.cn> | 2020-07-09 14:43:56 +0800 |
---|---|---|
committer | Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> | 2020-07-23 10:27:15 +0100 |
commit | a68e06e729b1b06c50ee52917d6b825b43e7d269 (patch) | |
tree | fc8ae767483ba86609e2449471f5573a8f635f67 /drivers/pci/controller/pcie-rcar-host.c | |
parent | cb52a40202420d3886b84ea13dba699c9da13eb0 (diff) | |
download | linux-a68e06e729b1b06c50ee52917d6b825b43e7d269.tar.bz2 |
PCI: rcar: Fix runtime PM imbalance on error
pm_runtime_get_sync() increments the runtime PM usage counter even
when the call returns an error code. Thus a corresponding decrement is
needed on the error handling path to keep the counter balanced.
Link: https://lore.kernel.org/r/20200709064356.8800-1-dinghao.liu@zju.edu.cn
Fixes: 0df6150e7ceb ("PCI: rcar: Use runtime PM to control controller clock")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Diffstat (limited to 'drivers/pci/controller/pcie-rcar-host.c')
-rw-r--r-- | drivers/pci/controller/pcie-rcar-host.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/pci/controller/pcie-rcar-host.c b/drivers/pci/controller/pcie-rcar-host.c index d210a36561be..060c24f5221e 100644 --- a/drivers/pci/controller/pcie-rcar-host.c +++ b/drivers/pci/controller/pcie-rcar-host.c @@ -986,7 +986,7 @@ static int rcar_pcie_probe(struct platform_device *pdev) err = pm_runtime_get_sync(pcie->dev); if (err < 0) { dev_err(pcie->dev, "pm_runtime_get_sync failed\n"); - goto err_pm_disable; + goto err_pm_put; } err = rcar_pcie_get_resources(host); @@ -1057,8 +1057,6 @@ err_unmap_msi_irqs: err_pm_put: pm_runtime_put(dev); - -err_pm_disable: pm_runtime_disable(dev); pci_free_resource_list(&host->resources); |