Message ID | 20200607093134.6393-1-dinghao.liu@zju.edu.cn (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | [v2] PCI: rcar: Fix runtime PM imbalance on error | expand |
Hi Dinghao, > From: Dinghao Liu, Sent: Sunday, June 7, 2020 6:32 PM > > 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. > > Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> Thank you for your patch! I think we can add Fixes tag like below. Fixes: 0df6150e7ceb ("PCI: rcar: Use runtime PM to control controller clock") And, I reviewed this patch. So, Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Best regards, Yoshihiro Shimoda > --- > > Changelog: > > v2: - Remove unnecessary 'err_pm_put' label. > Refine commit message. > --- > drivers/pci/controller/pcie-rcar.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/pci/controller/pcie-rcar.c b/drivers/pci/controller/pcie-rcar.c > index 759c6542c5c8..f9595ab54bc4 100644 > --- a/drivers/pci/controller/pcie-rcar.c > +++ b/drivers/pci/controller/pcie-rcar.c > @@ -1143,7 +1143,7 @@ static int rcar_pcie_probe(struct platform_device *pdev) > err = rcar_pcie_get_resources(pcie); > if (err < 0) { > dev_err(dev, "failed to request resources: %d\n", err); > - goto err_pm_put; > + goto err_pm_disable; > } > > err = clk_prepare_enable(pcie->bus_clk); > @@ -1206,10 +1206,8 @@ static int rcar_pcie_probe(struct platform_device *pdev) > irq_dispose_mapping(pcie->msi.irq2); > irq_dispose_mapping(pcie->msi.irq1); > > -err_pm_put: > - pm_runtime_put(dev); > - > err_pm_disable: > + pm_runtime_put(dev); > pm_runtime_disable(dev); > pci_free_resource_list(&pcie->resources); > > -- > 2.17.1
On Sun, Jun 07, 2020 at 05:31:33PM +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. > > Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> > --- > > Changelog: > > v2: - Remove unnecessary 'err_pm_put' label. > Refine commit message. > --- > drivers/pci/controller/pcie-rcar.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) Can you rebase it on top of v5.8-rc1 and resend it with Yoshihiro's tags please ? Thanks, Lorenzo > diff --git a/drivers/pci/controller/pcie-rcar.c b/drivers/pci/controller/pcie-rcar.c > index 759c6542c5c8..f9595ab54bc4 100644 > --- a/drivers/pci/controller/pcie-rcar.c > +++ b/drivers/pci/controller/pcie-rcar.c > @@ -1143,7 +1143,7 @@ static int rcar_pcie_probe(struct platform_device *pdev) > err = rcar_pcie_get_resources(pcie); > if (err < 0) { > dev_err(dev, "failed to request resources: %d\n", err); > - goto err_pm_put; > + goto err_pm_disable; > } > > err = clk_prepare_enable(pcie->bus_clk); > @@ -1206,10 +1206,8 @@ static int rcar_pcie_probe(struct platform_device *pdev) > irq_dispose_mapping(pcie->msi.irq2); > irq_dispose_mapping(pcie->msi.irq1); > > -err_pm_put: > - pm_runtime_put(dev); > - > err_pm_disable: > + pm_runtime_put(dev); > pm_runtime_disable(dev); > pci_free_resource_list(&pcie->resources); > > -- > 2.17.1 >
> On Sun, Jun 07, 2020 at 05:31:33PM +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. > > > > Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> > > --- > > > > Changelog: > > > > v2: - Remove unnecessary 'err_pm_put' label. > > Refine commit message. > > --- > > drivers/pci/controller/pcie-rcar.c | 6 ++---- > > 1 file changed, 2 insertions(+), 4 deletions(-) > > Can you rebase it on top of v5.8-rc1 and resend it with Yoshihiro's tags > please ? > Sure, I will resend it soon. Regards, Dinghao
diff --git a/drivers/pci/controller/pcie-rcar.c b/drivers/pci/controller/pcie-rcar.c index 759c6542c5c8..f9595ab54bc4 100644 --- a/drivers/pci/controller/pcie-rcar.c +++ b/drivers/pci/controller/pcie-rcar.c @@ -1143,7 +1143,7 @@ static int rcar_pcie_probe(struct platform_device *pdev) err = rcar_pcie_get_resources(pcie); if (err < 0) { dev_err(dev, "failed to request resources: %d\n", err); - goto err_pm_put; + goto err_pm_disable; } err = clk_prepare_enable(pcie->bus_clk); @@ -1206,10 +1206,8 @@ static int rcar_pcie_probe(struct platform_device *pdev) irq_dispose_mapping(pcie->msi.irq2); irq_dispose_mapping(pcie->msi.irq1); -err_pm_put: - pm_runtime_put(dev); - err_pm_disable: + pm_runtime_put(dev); pm_runtime_disable(dev); pci_free_resource_list(&pcie->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. Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> --- Changelog: v2: - Remove unnecessary 'err_pm_put' label. Refine commit message. --- drivers/pci/controller/pcie-rcar.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)