Re: [PATCH v4 2/2] media: qcom: iris: rollback OPP vote on PM resume failure
From: Vishnu Reddy
Date: Mon Jun 08 2026 - 02:30:14 EST
On 6/8/2026 4:58 AM, Hungyu Lin wrote:
> 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;
Please add a blank line between iris_opp_set_rate(core->dev, 0); and
return ret; to match the coding style used elsewhere in the driver at
end of the function.
> }
>
> int iris_disable_power_domains(struct iris_core *core, struct device *pd_dev)