summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInsu Yun <wuninsu@gmail.com>2016-02-01 13:59:30 -0200
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2016-02-02 14:28:56 -0200
commit5ce625a42d6206d5a18222c6475f6b866ef68569 (patch)
treedc60abc461a969b47f40110e3ad54c49e9721510
parent137aa3617b3e7e780800855cdc5d3258aa0ea8d9 (diff)
[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>
-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);
}