Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: qcom: mss-sc7180: fix missing resume during probe

Drivers that enable runtime PM must make sure that the controller is
runtime resumed before accessing its registers to prevent the power
domain from being disabled.

Fixes: 8def929c4097 ("clk: qcom: Add modem clock controller driver for SC7180")
Cc: stable@vger.kernel.org # 5.7
Cc: Taniya Das <quic_tdas@quicinc.com>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20230718132902.21430-8-johan+linaro@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>

authored by

Johan Hovold and committed by
Bjorn Andersson
e2349da0 97112c83

+13 -2
+13 -2
drivers/clk/qcom/mss-sc7180.c
··· 87 87 return ret; 88 88 } 89 89 90 - ret = qcom_cc_probe(pdev, &mss_sc7180_desc); 91 - if (ret < 0) 90 + ret = pm_runtime_resume_and_get(&pdev->dev); 91 + if (ret) 92 92 return ret; 93 93 94 + ret = qcom_cc_probe(pdev, &mss_sc7180_desc); 95 + if (ret < 0) 96 + goto err_put_rpm; 97 + 98 + pm_runtime_put(&pdev->dev); 99 + 94 100 return 0; 101 + 102 + err_put_rpm: 103 + pm_runtime_put_sync(&pdev->dev); 104 + 105 + return ret; 95 106 } 96 107 97 108 static const struct dev_pm_ops mss_sc7180_pm_ops = {