3.16.82-rc1 review patch. If anyone has any objections, please let me know.
------------------
From: Insu Yun wuninsu@gmail.com
commit 5ce625a42d6206d5a18222c6475f6b866ef68569 upstream.
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 Signed-off-by: Ben Hutchings ben@decadent.org.uk --- drivers/media/usb/usbvision/usbvision-video.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/media/usb/usbvision/usbvision-video.c +++ b/drivers/media/usb/usbvision/usbvision-video.c @@ -1175,6 +1175,7 @@ static int usbvision_radio_close(struct 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__); @@ -1182,7 +1183,6 @@ static int usbvision_radio_close(struct return err_code; }
- mutex_unlock(&usbvision->v4l2_lock); PDEBUG(DBG_IO, "success"); return err_code; }