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 <hul...@huawei.com>
Signed-off-by: Lu Jialin <lujial...@huawei.com>
---
 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");
 

Reply via email to