[PATCH] media: fix task hung in vb2_video_unregister_device
From: Edward Adam Davis
Date: Thu Feb 29 2024 - 07:22:31 EST
vb2_video_unregister_device() will get vb2q_lock, so usbtv_video_free() does
not need vb2q_lock.
Reported-and-tested-by: syzbot+2622b51b35f91a00ea18@xxxxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Edward Adam Davis <eadavis@xxxxxx>
---
drivers/media/usb/usbtv/usbtv-video.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/media/usb/usbtv/usbtv-video.c b/drivers/media/usb/usbtv/usbtv-video.c
index 62a583040cd4..b55f432b44d4 100644
--- a/drivers/media/usb/usbtv/usbtv-video.c
+++ b/drivers/media/usb/usbtv/usbtv-video.c
@@ -963,7 +963,6 @@ int usbtv_video_init(struct usbtv *usbtv)
void usbtv_video_free(struct usbtv *usbtv)
{
- mutex_lock(&usbtv->vb2q_lock);
mutex_lock(&usbtv->v4l2_lock);
usbtv_stop(usbtv);
@@ -971,7 +970,6 @@ void usbtv_video_free(struct usbtv *usbtv)
v4l2_device_disconnect(&usbtv->v4l2_dev);
mutex_unlock(&usbtv->v4l2_lock);
- mutex_unlock(&usbtv->vb2q_lock);
v4l2_device_put(&usbtv->v4l2_dev);
}
--
2.43.0