aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2015-07-20 09:59:35 -0300
committerJiri Slaby <jslaby@suse.cz>2015-10-28 16:38:32 +0100
commitd6b3346c6f41b0fa4e06cc66d104bab74abac922 (patch)
treee8026aaef2e9d33569109d38276f92b352453a5b
parent89326f350c3956afcd19ad4c7836de0141fac3f2 (diff)
[media] usbvision: fix locking error
commit e2c84ccb0fbe5e524d15bb09c042a6ca634adaed upstream. If remove_pending is non-zero, then the v4l2_lock is never unlocked. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com> Cc: Oliver Neukum <ONeukum@suse.com> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
-rw-r--r--drivers/media/usb/usbvision/usbvision-video.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/usb/usbvision/usbvision-video.c b/drivers/media/usb/usbvision/usbvision-video.c
index 661f7f2a9e8b..ea5ec8ed67a7 100644
--- a/drivers/media/usb/usbvision/usbvision-video.c
+++ b/drivers/media/usb/usbvision/usbvision-video.c
@@ -435,6 +435,7 @@ static int usbvision_v4l2_close(struct file *file)
usbvision_scratch_free(usbvision);
usbvision->user--;
+ mutex_unlock(&usbvision->v4l2_lock);
if (power_on_at_open) {
/* power off in a little while
@@ -448,7 +449,6 @@ static int usbvision_v4l2_close(struct file *file)
usbvision_release(usbvision);
return 0;
}
- mutex_unlock(&usbvision->v4l2_lock);
PDEBUG(DBG_IO, "success");
return 0;