aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
authorBjorn Andersson <bjorn.andersson@oss.qualcomm.com>2026-03-31 22:22:48 -0500
committerSrinivas Kandagatla <srini@kernel.org>2026-05-29 14:00:58 +0100
commitb997618e05f468bae2e4fadbd938a6b421c4b335 (patch)
treefe23ef70296e730ac1f302699d83b34fad9b1df3 /drivers
parentbebe9de4d2c9a1a953b46ddad2702c32d2feeff9 (diff)
downloadlinux-next-history-b997618e05f468bae2e4fadbd938a6b421c4b335.tar.gz
slimbus: qcom-ngd-ctrl: Balance pm_runtime enablement for NGD
The pm_runtime_enable() and pm_runtime_use_autosuspend() calls are supposed to be balanced on exit, add these calls. Fixes: 917809e2280b ("slimbus: ngd: Add qcom SLIMBus NGD driver") Cc: stable@vger.kernel.org Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com> Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/slimbus/qcom-ngd-ctrl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c
index 540a629996554..8b207efeadbcc 100644
--- a/drivers/slimbus/qcom-ngd-ctrl.c
+++ b/drivers/slimbus/qcom-ngd-ctrl.c
@@ -1582,8 +1582,11 @@ static int qcom_slim_ngd_probe(struct platform_device *pdev)
pm_runtime_enable(dev);
pm_runtime_get_noresume(dev);
ret = qcom_slim_ngd_qmi_svc_event_init(ctrl);
- if (ret)
+ if (ret) {
dev_err(&pdev->dev, "QMI service registration failed:%d", ret);
+ pm_runtime_dont_use_autosuspend(dev);
+ pm_runtime_disable(dev);
+ }
return ret;
}
@@ -1696,6 +1699,7 @@ static void qcom_slim_ngd_remove(struct platform_device *pdev)
{
struct qcom_slim_ngd_ctrl *ctrl = platform_get_drvdata(pdev);
+ pm_runtime_dont_use_autosuspend(&pdev->dev);
pm_runtime_disable(&pdev->dev);
qcom_slim_ngd_enable(ctrl, false);
qcom_slim_ngd_exit_dma(ctrl);