summaryrefslogtreecommitdiffstats
path: root/drivers/media/usb/usbvision
diff options
context:
space:
mode:
authorInsu Yun <wuninsu@gmail.com>2016-02-01 16:59:30 +0100
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2016-02-02 17:28:56 +0100
commit5ce625a42d6206d5a18222c6475f6b866ef68569 (patch)
treedc60abc461a969b47f40110e3ad54c49e9721510 /drivers/media/usb/usbvision
parent[media] rc/nuvoton_cir: fix locking issue when calling nvt_disable_cir (diff)
downloadlinux-5ce625a42d6206d5a18222c6475f6b866ef68569.tar.xz
linux-5ce625a42d6206d5a18222c6475f6b866ef68569.zip
[media] usbvision: fix locking error
When remove_pending is non-zero, v4l2_lock is never unlocked. Signed-off-by: Insu Yun <wuninsu@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/usb/usbvision')
-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 7f5d6f15a49f..12f5ebbd0436 100644
--- a/drivers/media/usb/usbvision/usbvision-video.c
+++ b/drivers/media/usb/usbvision/usbvision-video.c
@@ -1147,6 +1147,7 @@ static int usbvision_radio_close(struct file *file)
usbvision_audio_off(usbvision);
usbvision->radio = 0;
usbvision->user--;
+ mutex_unlock(&usbvision->v4l2_lock);
if (usbvision->remove_pending) {
printk(KERN_INFO "%s: Final disconnect\n", __func__);
@@ -1155,7 +1156,6 @@ static int usbvision_radio_close(struct file *file)
return 0;
}
- mutex_unlock(&usbvision->v4l2_lock);
PDEBUG(DBG_IO, "success");
return v4l2_fh_release(file);
}