2021-04-08 13:37:44

by Lu Jialin

[permalink] [raw]
Subject: [PATCH -next] media: sun8i: Fix PM reference leak in deinterlace_start_streaming()


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 <[email protected]>
Signed-off-by: Lu Jialin <[email protected]>
---
drivers/media/platform/sunxi/sun8i-di/sun8i-di.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c b/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c
index ed863bf5ea80..671e4a928993 100644
--- a/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c
+++ b/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c
@@ -589,7 +589,7 @@ static int deinterlace_start_streaming(struct vb2_queue *vq, unsigned int count)
int ret;

if (V4L2_TYPE_IS_OUTPUT(vq->type)) {
- ret = pm_runtime_get_sync(dev);
+ ret = pm_runtime_resume_and_get(dev);
if (ret < 0) {
dev_err(dev, "Failed to enable module\n");



2021-04-11 18:21:11

by Jernej Skrabec

[permalink] [raw]
Subject: Re: [PATCH -next] media: sun8i: Fix PM reference leak in deinterlace_start_streaming()

Dne Ĩetrtek, 08. april 2021 ob 15:36:30 CEST je Lu Jialin napisal(a):
>
> 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 <[email protected]>
> Signed-off-by: Lu Jialin <[email protected]>

Acked-by: Jernej Skrabec <[email protected]>

Best regards,
Jernej