media: venus: Fix pm_runtime_set_suspended() with runtime pm enabled
authorJinjie Ruan <ruanjinjie@huawei.com>
Fri, 1 Nov 2024 09:40:50 +0000 (17:40 +0800)
committerHans Verkuil <hverkuil@xs4all.nl>
Thu, 7 Nov 2024 08:05:57 +0000 (09:05 +0100)
It is not valid to call pm_runtime_set_suspended() for devices
with runtime PM enabled because it returns -EAGAIN if it is enabled
already and working. So, call pm_runtime_disable() before to fix it.

Cc: stable@vger.kernel.org
Fixes: af2c3834c8ca ("[media] media: venus: adding core part and helper functions")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Acked-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
drivers/media/platform/qcom/venus/core.c

index 00eb98f53d4708982aac36d9b0bd455be595bd90..5caa88b932b07f2807cfe0894dfa0e17f95b8b39 100644 (file)
@@ -412,8 +412,8 @@ err_of_depopulate:
        of_platform_depopulate(dev);
 err_runtime_disable:
        pm_runtime_put_noidle(dev);
-       pm_runtime_set_suspended(dev);
        pm_runtime_disable(dev);
+       pm_runtime_set_suspended(dev);
        hfi_destroy(core);
 err_core_deinit:
        hfi_core_deinit(core, false);