diff options
author | Qinglang Miao <miaoqinglang@huawei.com> | 2020-11-27 17:44:44 +0800 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2021-01-05 07:19:49 +0200 |
commit | 136ce7684bc1ff4a088812f600c63daca50b32c2 (patch) | |
tree | cd33025a3bfbbf1a364d94f3b5e803399ebfc820 /drivers/gpu/drm/rcar-du/rcar_cmm.c | |
parent | a1bc5e314581f69d431e8f05677a3b79d8c7cd96 (diff) | |
download | lwn-136ce7684bc1ff4a088812f600c63daca50b32c2.tar.gz lwn-136ce7684bc1ff4a088812f600c63daca50b32c2.zip |
drm: rcar-du: Fix PM reference leak in rcar_cmm_enable()
pm_runtime_get_sync will increment pm usage counter even it failed.
Forgetting to putting operation will result in a reference leak here.
A new function pm_runtime_resume_and_get is introduced in [0] to keep
usage counter balanced. So We fix the reference leak by replacing it
with new funtion.
[0] dd8088d5a896 ("PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter")
Fixes: e08e934d6c28 ("drm: rcar-du: Add support for CMM")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com>
Acked-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Diffstat (limited to 'drivers/gpu/drm/rcar-du/rcar_cmm.c')
-rw-r--r-- | drivers/gpu/drm/rcar-du/rcar_cmm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/rcar-du/rcar_cmm.c b/drivers/gpu/drm/rcar-du/rcar_cmm.c index c578095b09a5..382d53f8a22e 100644 --- a/drivers/gpu/drm/rcar-du/rcar_cmm.c +++ b/drivers/gpu/drm/rcar-du/rcar_cmm.c @@ -122,7 +122,7 @@ int rcar_cmm_enable(struct platform_device *pdev) { int ret; - ret = pm_runtime_get_sync(&pdev->dev); + ret = pm_runtime_resume_and_get(&pdev->dev); if (ret < 0) return ret; |