summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorQiushi Wu <wu000273@umn.edu>2020-06-14 02:04:32 +0300
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-09-27 11:52:15 +0300
commit410822037cc909c4bef845a71e9cac92b75591d2 (patch)
tree703a6dbe605797f86bf59b9a7c935b57f38ff4e0 /drivers/media
parentaaffa0126a111d65f4028c503c76192d4cc93277 (diff)
downloadlinux-410822037cc909c4bef845a71e9cac92b75591d2.tar.xz
media: rcar-vin: Fix a reference count leak.
pm_runtime_get_sync() increments the runtime PM usage counter even when it returns an error code. Thus call pm_runtime_put_noidle() if pm_runtime_get_sync() fails. Fixes: 2a18fbec1dab ("media: rcar-vin: Move pm_runtime_{get,put} out of helpers") Signed-off-by: Qiushi Wu <wu000273@umn.edu> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/platform/rcar-vin/rcar-v4l2.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/media/platform/rcar-vin/rcar-v4l2.c b/drivers/media/platform/rcar-vin/rcar-v4l2.c
index 0e066bba747e..92415cf42dc9 100644
--- a/drivers/media/platform/rcar-vin/rcar-v4l2.c
+++ b/drivers/media/platform/rcar-vin/rcar-v4l2.c
@@ -844,8 +844,10 @@ static int rvin_open(struct file *file)
int ret;
ret = pm_runtime_get_sync(vin->dev);
- if (ret < 0)
+ if (ret < 0) {
+ pm_runtime_put_noidle(vin->dev);
return ret;
+ }
ret = mutex_lock_interruptible(&vin->lock);
if (ret)