Hi Ricardo, On Wed, Mar 27, 2024 at 5:24 PM Ricardo Ribalda <ribalda@xxxxxxxxxxxx> wrote: > > uvc_unregister_video() can be called asynchronously from > uvc_disconnect(). If the device is still streaming when that happens, a > plethora of race conditions can happen. > > Make sure that the device has stopped streaming before exiting this > function. > > If the user still holds handles to the driver's file descriptors, any > ioctl will return -ENODEV from the v4l2 core. > > This change make uvc more consistent with the rest of the v4l2 drivers > using the vb2_fop_* and vb2_ioctl_* helpers. > > Suggested-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx> > Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> > --- > drivers/media/usb/uvc/uvc_driver.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > First of all, thanks for the patch. I have a question about the problem being fixed here. Could you point out a specific race condition example that could happen without this change?