Message ID | 20200709064356.8800-1-dinghao.liu@zju.edu.cn (mailing list archive) |
---|---|
State | Mainlined |
Commit | a68e06e729b1b06c50ee52917d6b825b43e7d269 |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | [v3] PCI: rcar: Fix runtime PM imbalance on error | expand |
On Thu, Jul 09, 2020 at 02:43:56PM +0800, Dinghao Liu wrote: > pm_runtime_get_sync() increments the runtime PM usage counter even > the call returns an error code. Thus a corresponding decrement is > needed on the error handling path to keep the counter balanced. > > Fixes: 0df6150e7ceb ("PCI: rcar: Use runtime PM to control controller > clock") > > Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> Applied to pci/runtime-pm but you forgot to carry over Yoshihiro's reviewed-by, please do pay attention to these details. Lorenzo > --- > > Changelog: > > v2: - Remove unnecessary 'err_pm_put' label. > Refine commit message. > > v3: - Add Fixes tag. > Rebase the patch on top of the latest kernel. > --- > drivers/pci/controller/pcie-rcar-host.c | 4 +--- > 1 file changed, 1 insertion(+), 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 @@ static int rcar_pcie_probe(struct platform_device *pdev) > > err_pm_put: > pm_runtime_put(dev); > - > -err_pm_disable: > pm_runtime_disable(dev); > pci_free_resource_list(&host->resources); > > -- > 2.17.1 >
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 @@ static int rcar_pcie_probe(struct platform_device *pdev) err_pm_put: pm_runtime_put(dev); - -err_pm_disable: pm_runtime_disable(dev); pci_free_resource_list(&host->resources);
pm_runtime_get_sync() increments the runtime PM usage counter even the call returns an error code. Thus a corresponding decrement is needed on the error handling path to keep the counter balanced. Fixes: 0df6150e7ceb ("PCI: rcar: Use runtime PM to control controller clock") Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> --- Changelog: v2: - Remove unnecessary 'err_pm_put' label. Refine commit message. v3: - Add Fixes tag. Rebase the patch on top of the latest kernel. --- drivers/pci/controller/pcie-rcar-host.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)