[PATCH v4 2/2] media: qcom: iris: rollback OPP vote on PM resume failure
From: Hungyu Lin
Date: Sun Jun 07 2026 - 19:30:44 EST
Rollback the maximum OPP vote when
pm_runtime_resume_and_get() fails in
iris_enable_power_domains().
Use a standard rollback path to release the OPP vote when
power domain enablement does not complete successfully.
Fixes: bb8a95aa038e ("media: iris: implement power management")
Signed-off-by: Hungyu Lin <dennylin0707@xxxxxxxxx>
---
Changes in v4:
- Addressed Dmitry Baryshkov's review comment.
- Reworked the error handling path to use a standard goto-based
rollback flow.
- Roll back the OPP vote from a dedicated error label when
pm_runtime_resume_and_get() fails.
drivers/media/platform/qcom/iris/iris_resources.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/qcom/iris/iris_resources.c b/drivers/media/platform/qcom/iris/iris_resources.c
index f5e3341e1430..9059cbe8fe5f 100644
--- a/drivers/media/platform/qcom/iris/iris_resources.c
+++ b/drivers/media/platform/qcom/iris/iris_resources.c
@@ -80,9 +80,13 @@ int iris_enable_power_domains(struct iris_core *core, struct device *pd_dev)
ret = pm_runtime_resume_and_get(pd_dev);
if (ret)
- return ret;
+ goto err_opp;
return 0;
+
+err_opp:
+ iris_opp_set_rate(core->dev, 0);
+ return ret;
}
int iris_disable_power_domains(struct iris_core *core, struct device *pd_dev)
--
2.34.1