]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jul 2021 06:53:08 +0000 (08:53 +0200)
[ Upstream commit 69777e6ca396f0a7e1baff40fcad4a9d3d445b7a ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/mediatek/mtk_drm_crtc.c

index f9455f2724d2374f20f2eea686952c61dec47030..f370d41b3d04111f511288e93dceedfa4dc70bb0 100644 (file)
@@ -240,7 +240,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;