drm/mediatek: Fix PM reference leak in mtk_crtc_ddp_hw_init()
authorWang Li <wangli74@huawei.com>
Sat, 10 Apr 2021 03:48:41 +0000 (03:48 +0000)
committerChun-Kuang Hu <chunkuang.hu@kernel.org>
Thu, 13 May 2021 23:29:07 +0000 (07:29 +0800)
pm_runtime_get_sync will increment pm usage counter even it failed.
Forgetting to putting operation will result in reference leak here.
Fix it by replacing it with pm_runtime_resume_and_get to keep usage
counter balanced.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wang Li <wangli74@huawei.com>
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
drivers/gpu/drm/mediatek/mtk_drm_crtc.c

index 40df2c8231877e0ce6d098b60ac821fb40fd8605..474efb84424933d894812f6c783b51a1b5cef38a 100644 (file)
@@ -260,7 +260,7 @@ static int mtk_crtc_ddp_hw_init(struct mtk_drm_crtc *mtk_crtc)
                drm_connector_list_iter_end(&conn_iter);
        }
 
-       ret = pm_runtime_get_sync(crtc->dev->dev);
+       ret = pm_runtime_resume_and_get(crtc->dev->dev);
        if (ret < 0) {
                DRM_ERROR("Failed to enable power domain: %d\n", ret);
                return ret;