Commit 0ae41323 authored by Shang XiaoJing's avatar Shang XiaoJing Committed by Maxime Ripard

drm/vc4: vec: Use pm_runtime_resume_and_get() in vc4_vec_encoder_enable()

Commit f0601ef8 ("drm/vc4: vec: Protect device resources after
removal") add fail path for vc4_vec_encoder_enable(), and will put
usage_counter only when pm_runtime_get_sync() succeeds. However,
pm_runtime_get_sync() will increment usage_counter even it failed. Fix
it by replacing it with pm_runtime_resume_and_get() to keep usage
counter balanced.

Fixes: e4b81f8c ("drm/vc4: Add support for the VEC (Video Encoder) IP")
Signed-off-by: default avatarShang XiaoJing <shangxiaojing@huawei.com>
Link: https://lore.kernel.org/r/20221124015113.18540-1-shangxiaojing@huawei.comSigned-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
parent 9a49bf09
...@@ -558,7 +558,7 @@ static void vc4_vec_encoder_enable(struct drm_encoder *encoder, ...@@ -558,7 +558,7 @@ static void vc4_vec_encoder_enable(struct drm_encoder *encoder,
if (!tv_mode) if (!tv_mode)
goto err_dev_exit; goto err_dev_exit;
ret = pm_runtime_get_sync(&vec->pdev->dev); ret = pm_runtime_resume_and_get(&vec->pdev->dev);
if (ret < 0) { if (ret < 0) {
DRM_ERROR("Failed to retain power domain: %d\n", ret); DRM_ERROR("Failed to retain power domain: %d\n", ret);
goto err_dev_exit; goto err_dev_exit;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment