On 2/29/24 13:21, Edward Adam Davis wrote: > 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> Duplicate of: https://lore.kernel.org/linux-media/19cdefd3-163b-41a1-b603-764aab4b5b90@xxxxxxxxx/ I'm waiting for a v2 of that one. Regards, Hans > --- > 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); > }