]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: iris: Call correct power off callback in cleanup path
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Wed, 2 Jul 2025 13:41:58 +0000 (15:41 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 9 Sep 2025 13:59:20 +0000 (15:59 +0200)
Driver implements different callbacks for the power off controller
(.power_off_controller):

 - iris_vpu_power_off_controller,
 - iris_vpu33_power_off_controller,

The generic wrapper for handling power off - iris_vpu_power_off() -
calls them via 'iris_platform_data->vpu_ops', so shall the cleanup code
in iris_vpu_power_on().

This makes also sense if looking at caller of iris_vpu_power_on(), which
unwinds also with the wrapper calling respective platfortm code (unwinds
with iris_vpu_power_off()).

Otherwise power off sequence on the newer VPU3.3 in error path is not
complete.

Fixes: c69df5de4ac3 ("media: platform: qcom/iris: add power_off_controller to vpu_ops")
Cc: stable@vger.kernel.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Bryan O'Donoghue <bod@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/platform/qcom/iris/iris_vpu_common.c

index 268e45acaa7c0e3fe237123c62f0133d9dface14..42a7c53ce48eb56a4210c7e25c707a1b0881a8ce 100644 (file)
@@ -359,7 +359,7 @@ int iris_vpu_power_on(struct iris_core *core)
        return 0;
 
 err_power_off_ctrl:
-       iris_vpu_power_off_controller(core);
+       core->iris_platform_data->vpu_ops->power_off_controller(core);
 err_unvote_icc:
        iris_unset_icc_bw(core);
 err: