media: exynos4-is: Fix recursive locking in isp_video_release()
authorSeung-Woo Kim <sw0312.kim@samsung.com>
Fri, 18 Oct 2019 10:20:52 +0000 (07:20 -0300)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Tue, 5 Nov 2019 11:56:56 +0000 (08:56 -0300)
>From isp_video_release(), &isp->video_lock is held and subsequent
vb2_fop_release() tries to lock vdev->lock which is same with the
previous one. Replace vb2_fop_release() with _vb2_fop_release() to
fix the recursive locking.

Fixes: 1380f5754cb0 ("[media] videobuf2: Add missing lock held on vb2_fop_release")
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/platform/exynos4-is/fimc-isp-video.c

index 378cc30..d2cbcdc 100644 (file)
@@ -313,7 +313,7 @@ static int isp_video_release(struct file *file)
                ivc->streaming = 0;
        }
 
-       vb2_fop_release(file);
+       _vb2_fop_release(file, NULL);
 
        if (v4l2_fh_is_singular_file(file)) {
                fimc_pipeline_call(&ivc->ve, close);