diff mbox series

[v2] PCI: qcom: Fix runtime PM imbalance on error

Message ID 20200707055000.9453-1-dinghao.liu@zju.edu.cn (mailing list archive)
State Mainlined, archived
Commit cb52a40202420d3886b84ea13dba699c9da13eb0
Headers show
Series [v2] PCI: qcom: Fix runtime PM imbalance on error | expand

Commit Message

Dinghao Liu July 7, 2020, 5:50 a.m. UTC
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 <dinghao.liu@zju.edu.cn>
---

Changelog:

v2: - Remove redundant brackets.
---
 drivers/pci/controller/dwc/pcie-qcom.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Lorenzo Pieralisi July 7, 2020, 10:36 a.m. UTC | #1
On Tue, Jul 07, 2020 at 01:50:00PM +0800, 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.
> 
> Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
> ---
> 
> Changelog:
> 
> v2: - Remove redundant brackets.
> ---
>  drivers/pci/controller/dwc/pcie-qcom.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)

Applied to pci/runtime-pm, thanks.

Lorenzo

> diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c
> index 138e1a2d21cc..12abdfbff5ca 100644
> --- a/drivers/pci/controller/dwc/pcie-qcom.c
> +++ b/drivers/pci/controller/dwc/pcie-qcom.c
> @@ -1339,10 +1339,8 @@ static int qcom_pcie_probe(struct platform_device *pdev)
>  
>  	pm_runtime_enable(dev);
>  	ret = pm_runtime_get_sync(dev);
> -	if (ret < 0) {
> -		pm_runtime_disable(dev);
> -		return ret;
> -	}
> +	if (ret < 0)
> +		goto err_pm_runtime_put;
>  
>  	pci->dev = dev;
>  	pci->ops = &dw_pcie_ops;
> -- 
> 2.17.1
>
diff mbox series

Patch

diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c
index 138e1a2d21cc..12abdfbff5ca 100644
--- a/drivers/pci/controller/dwc/pcie-qcom.c
+++ b/drivers/pci/controller/dwc/pcie-qcom.c
@@ -1339,10 +1339,8 @@  static int qcom_pcie_probe(struct platform_device *pdev)
 
 	pm_runtime_enable(dev);
 	ret = pm_runtime_get_sync(dev);
-	if (ret < 0) {
-		pm_runtime_disable(dev);
-		return ret;
-	}
+	if (ret < 0)
+		goto err_pm_runtime_put;
 
 	pci->dev = dev;
 	pci->ops = &dw_pcie_ops;