diff options
author | Qinglang Miao <miaoqinglang@huawei.com> | 2020-11-27 10:44:44 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2021-01-05 06:19:49 +0100 |
commit | 136ce7684bc1ff4a088812f600c63daca50b32c2 (patch) | |
tree | cd33025a3bfbbf1a364d94f3b5e803399ebfc820 /drivers/gpu/drm/rcar-du/rcar_cmm.c | |
parent | drm/bridge: thc63lvd1024: Fix regulator_get_optional() misuse (diff) | |
download | linux-136ce7684bc1ff4a088812f600c63daca50b32c2.tar.xz linux-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 '')
-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; |