media: v4l2-ioctl.c: fix missing unlock in __video_do_ioctl()
authorHans Verkuil <hverkuil@xs4all.nl>
Mon, 4 Jun 2018 11:22:28 +0000 (07:22 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Tue, 5 Jun 2018 13:50:48 +0000 (09:50 -0400)
If dev_debug was active, then the code could return without unlocking the
core mutex. Replace the return with a 'goto unlock' to ensure proper unlocking.

Fixes: 73a110623e7b ("v4l2-core: push taking ioctl mutex down to ioctl handler")
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/v4l2-core/v4l2-ioctl.c

index 965fd301f617ecf82c355c09849d8e2aa943795e..dd210067151f8ad0f92bc4e5c5e52bea4e834101 100644 (file)
@@ -2777,7 +2777,7 @@ done:
        if (dev_debug & (V4L2_DEV_DEBUG_IOCTL | V4L2_DEV_DEBUG_IOCTL_ARG)) {
                if (!(dev_debug & V4L2_DEV_DEBUG_STREAMING) &&
                    (cmd == VIDIOC_QBUF || cmd == VIDIOC_DQBUF))
-                       return ret;
+                       goto unlock;
 
                v4l_printk_ioctl(video_device_node_name(vfd), cmd);
                if (ret < 0)