2020-05-20 08:24:56

by Dinghao Liu

[permalink] [raw]
Subject: [PATCH] PCI: rcar: fix runtime pm imbalance on error

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

Signed-off-by: Dinghao Liu <[email protected]>
---
drivers/pci/controller/pcie-rcar.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/pci/controller/pcie-rcar.c b/drivers/pci/controller/pcie-rcar.c
index 759c6542c5c8..a9de65438051 100644
--- a/drivers/pci/controller/pcie-rcar.c
+++ b/drivers/pci/controller/pcie-rcar.c
@@ -1207,9 +1207,8 @@ static int rcar_pcie_probe(struct platform_device *pdev)
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


2020-06-06 12:17:48

by Marek Vasut

[permalink] [raw]
Subject: Re: [PATCH] PCI: rcar: fix runtime pm imbalance on error

On 5/20/20 10:22 AM, Dinghao Liu wrote:
> pm_runtime_get_sync() increments the runtime PM usage counter even
> it returns an error code. Thus a pairing decrement is needed on
> the error handling path to keep the counter balanced.

Sorry for the late reply.

> Signed-off-by: Dinghao Liu <[email protected]>
> ---
> drivers/pci/controller/pcie-rcar.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/pci/controller/pcie-rcar.c b/drivers/pci/controller/pcie-rcar.c
> index 759c6542c5c8..a9de65438051 100644
> --- a/drivers/pci/controller/pcie-rcar.c
> +++ b/drivers/pci/controller/pcie-rcar.c
> @@ -1207,9 +1207,8 @@ static int rcar_pcie_probe(struct platform_device *pdev)
> irq_dispose_mapping(pcie->msi.irq1);
>
> err_pm_put:

You might want to remove this label too.
I'm not runtime-pm expert to comment on the validity of this patch though.

> - pm_runtime_put(dev);
> -
> err_pm_disable:
> + pm_runtime_put(dev);
> pm_runtime_disable(dev);
> pci_free_resource_list(&pcie->resources);
>
>

2020-06-07 06:22:50

by Dinghao Liu

[permalink] [raw]
Subject: Re: Re: [PATCH] PCI: rcar: fix runtime pm imbalance on error

> >
> > err_pm_put:
>
> You might want to remove this label too.

Thank you for pointing out this! I will fix this in the
next version of patch.