OSDN Git Service

PCI: qcom: Fix runtime PM imbalance on error
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Tue, 7 Jul 2020 05:50:00 +0000 (13:50 +0800)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tue, 7 Jul 2020 10:29:12 +0000 (11:29 +0100)
pm_runtime_get_sync() increments the runtime PM usage counter even
when it returns an error code, thus a matching decrement is needed on
the error handling path to keep the counter balanced.

Link: https://lore.kernel.org/r/20200707055000.9453-1-dinghao.liu@zju.edu.cn
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/controller/dwc/pcie-qcom.c

index 138e1a2..12abdfb 100644 (file)
@@ -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;