media: usbtv: Remove useless locks in usbtv_video_free()
Remove locks calls in usbtv_video_free() because are useless and may led to a deadlock as reported here: https://syzkaller.appspot.com/x/bisect.txt?x=166dc872180000 Also remove usbtv_stop() call since it will be called when unregistering the device. Before 'c838530d230b' this issue would only be noticed if you disconnect while streaming and now it is noticeable even when disconnecting while not streaming. Fixes: c838530d230b ("media: media videobuf2: Be more flexible on the number of queue stored buffers") Fixes: f3d27f34fdd7 ("[media] usbtv: Add driver for Fushicai USBTV007 video frame grabber") Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> Reviewed-by: Tomasz Figa <tfiga@chromium.org> Tested-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> [hverkuil: fix minor spelling mistake in log message]
This commit is contained in:
parent
bfb1b99802
commit
65e6a2773d
@ -963,15 +963,8 @@ ctrl_fail:
|
||||
|
||||
void usbtv_video_free(struct usbtv *usbtv)
|
||||
{
|
||||
mutex_lock(&usbtv->vb2q_lock);
|
||||
mutex_lock(&usbtv->v4l2_lock);
|
||||
|
||||
usbtv_stop(usbtv);
|
||||
vb2_video_unregister_device(&usbtv->vdev);
|
||||
v4l2_device_disconnect(&usbtv->v4l2_dev);
|
||||
|
||||
mutex_unlock(&usbtv->v4l2_lock);
|
||||
mutex_unlock(&usbtv->vb2q_lock);
|
||||
|
||||
v4l2_device_put(&usbtv->v4l2_dev);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user