Commit 64157b2c authored by Qiushi Wu's avatar Qiushi Wu Committed by Mauro Carvalho Chehab

media: exynos4-is: Fix a reference count leak

pm_runtime_get_sync() increments the runtime PM usage counter even
when it returns an error code, causing incorrect ref count if
pm_runtime_put_noidle() is not called in error handling paths.
Thus call pm_runtime_put_noidle() if pm_runtime_get_sync() fails.
Signed-off-by: default avatarQiushi Wu <wu000273@umn.edu>
Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 7dae2aaa
...@@ -510,9 +510,11 @@ static int s5pcsis_s_stream(struct v4l2_subdev *sd, int enable) ...@@ -510,9 +510,11 @@ static int s5pcsis_s_stream(struct v4l2_subdev *sd, int enable)
if (enable) { if (enable) {
s5pcsis_clear_counters(state); s5pcsis_clear_counters(state);
ret = pm_runtime_get_sync(&state->pdev->dev); ret = pm_runtime_get_sync(&state->pdev->dev);
if (ret && ret != 1) if (ret && ret != 1) {
pm_runtime_put_noidle(&state->pdev->dev);
return ret; return ret;
} }
}
mutex_lock(&state->lock); mutex_lock(&state->lock);
if (enable) { if (enable) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment