mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-23 20:24:12 +08:00
c5fe3ed618
The control events are handled asynchronously by the driver. Once the control event are handled, the urb is re-submitted. If we simply kill the urb, there is a chance that a control event is waiting to be processed, which will re-submit the urb after the device is disconnected. Fix this by calling uvc_status_suspend(), which flushes the async controls and kills the URB in a race-free manner. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> Link: https://lore.kernel.org/r/20240926-guenter-mini-v7-2-690441953d4a@chromium.org Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> |
||
---|---|---|
.. | ||
airspy | ||
as102 | ||
au0828 | ||
b2c2 | ||
cx231xx | ||
dvb-usb | ||
dvb-usb-v2 | ||
em28xx | ||
go7007 | ||
gspca | ||
hackrf | ||
hdpvr | ||
msi2500 | ||
pvrusb2 | ||
pwc | ||
s2255 | ||
siano | ||
stk1160 | ||
ttusb-budget | ||
ttusb-dec | ||
usbtv | ||
uvc | ||
Kconfig | ||
Makefile |