Mian Yousaf Kaukab dc9e29
From: Johan Hovold <johan+linaro@kernel.org>
Mian Yousaf Kaukab dc9e29
Date: Fri, 1 Apr 2022 15:38:53 +0200
Mian Yousaf Kaukab dc9e29
Subject: PCI: qcom: Fix runtime PM imbalance on probe errors
Mian Yousaf Kaukab dc9e29
Mian Yousaf Kaukab dc9e29
Git-commit: 87d83b96c8d6c6c2d2096bd0bdba73bcf42b8ef0
Mian Yousaf Kaukab dc9e29
Patch-mainline: v5.19-rc1
Mian Yousaf Kaukab dc9e29
References: git-fixes
Mian Yousaf Kaukab dc9e29
Mian Yousaf Kaukab dc9e29
Drop the leftover pm_runtime_disable() calls from the late probe error
Mian Yousaf Kaukab dc9e29
paths that would, for example, prevent runtime PM from being reenabled
Mian Yousaf Kaukab dc9e29
after a probe deferral.
Mian Yousaf Kaukab dc9e29
Mian Yousaf Kaukab dc9e29
Link: https://lore.kernel.org/r/20220401133854.10421-2-johan+linaro@kernel.org
Mian Yousaf Kaukab dc9e29
Fixes: 6e5da6f7d824 ("PCI: qcom: Fix error handling in runtime PM support")
Mian Yousaf Kaukab dc9e29
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Mian Yousaf Kaukab dc9e29
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Mian Yousaf Kaukab dc9e29
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Mian Yousaf Kaukab dc9e29
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Mian Yousaf Kaukab dc9e29
Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com>
Mian Yousaf Kaukab dc9e29
Cc: stable@vger.kernel.org      # 4.20
Mian Yousaf Kaukab dc9e29
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Mian Yousaf Kaukab dc9e29
Signed-off-by: Mian Yousaf Kaukab <ykaukab@suse.de>
Mian Yousaf Kaukab dc9e29
---
Mian Yousaf Kaukab dc9e29
 drivers/pci/dwc/pcie-qcom.c |    5 +----
Mian Yousaf Kaukab dc9e29
 1 file changed, 1 insertion(+), 4 deletions(-)
Mian Yousaf Kaukab dc9e29
Mian Yousaf Kaukab dc9e29
--- a/drivers/pci/dwc/pcie-qcom.c
Mian Yousaf Kaukab dc9e29
+++ b/drivers/pci/dwc/pcie-qcom.c
Mian Yousaf Kaukab dc9e29
@@ -1394,17 +1394,14 @@ static int qcom_pcie_probe(struct platfo
Mian Yousaf Kaukab dc9e29
 	}
Mian Yousaf Kaukab dc9e29
 
Mian Yousaf Kaukab dc9e29
 	ret = phy_init(pcie->phy);
Mian Yousaf Kaukab dc9e29
-	if (ret) {
Mian Yousaf Kaukab dc9e29
-		pm_runtime_disable(&pdev->dev);
Mian Yousaf Kaukab dc9e29
+	if (ret)
Mian Yousaf Kaukab dc9e29
 		goto err_pm_runtime_put;
Mian Yousaf Kaukab dc9e29
-	}
Mian Yousaf Kaukab dc9e29
 
Mian Yousaf Kaukab dc9e29
 	platform_set_drvdata(pdev, pcie);
Mian Yousaf Kaukab dc9e29
 
Mian Yousaf Kaukab dc9e29
 	ret = dw_pcie_host_init(pp);
Mian Yousaf Kaukab dc9e29
 	if (ret) {
Mian Yousaf Kaukab dc9e29
 		dev_err(dev, "cannot initialize host\n");
Mian Yousaf Kaukab dc9e29
-		pm_runtime_disable(&pdev->dev);
Mian Yousaf Kaukab dc9e29
 		goto err_pm_runtime_put;
Mian Yousaf Kaukab dc9e29
 	}
Mian Yousaf Kaukab dc9e29