HI I think it makes more sense to swap the order to patches 2 and 3 and move the #define UVC_QUIRK_MJPEG_NO_EOF 0x00020000 to media: uvcvideo: Implement dual stream quirk to fix loss of usb packets Also when we send quirks we send to the ML the output of lsusb -v 0c45:6366 On Fri, 8 Nov 2024 at 15:24, Isaac Scott <isaac.scott@xxxxxxxxxxxxxxxx> wrote: > > Add the definition of a new quirk that supports the Sonix Technology > Co. 292A camera, which uses the AR0330 sensor. The camera supports the > output of two simultaneous streams, which need to be handled > appropriately by the driver. > > Signed-off-by: Isaac Scott <isaac.scott@xxxxxxxxxxxxxxxx> > --- > drivers/media/usb/uvc/uvc_driver.c | 9 +++++++++ > drivers/media/usb/uvc/uvcvideo.h | 1 + > 2 files changed, 10 insertions(+) > > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c > index 0fac689c6350..15aee3f2b5f9 100644 > --- a/drivers/media/usb/uvc/uvc_driver.c > +++ b/drivers/media/usb/uvc/uvc_driver.c > @@ -2752,6 +2752,15 @@ static const struct usb_device_id uvc_ids[] = { > .bInterfaceSubClass = 1, > .bInterfaceProtocol = 0, > .driver_info = (kernel_ulong_t)&uvc_quirk_probe_minmax }, > + /* Sonix Technology Co. Ltd. - 292A IPC AR0330 */ > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > + | USB_DEVICE_ID_MATCH_INT_INFO, > + .idVendor = 0x0c45, > + .idProduct = 0x6366, > + .bInterfaceClass = USB_CLASS_VIDEO, > + .bInterfaceSubClass = 1, > + .bInterfaceProtocol = 0, > + .driver_info = UVC_INFO_QUIRK(UVC_QUIRK_MJPEG_NO_EOF) }, > /* MT6227 */ > { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > | USB_DEVICE_ID_MATCH_INT_INFO, > diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h > index b7d24a853ce4..116b1e383c25 100644 > --- a/drivers/media/usb/uvc/uvcvideo.h > +++ b/drivers/media/usb/uvc/uvcvideo.h > @@ -76,6 +76,7 @@ > #define UVC_QUIRK_NO_RESET_RESUME 0x00004000 > #define UVC_QUIRK_DISABLE_AUTOSUSPEND 0x00008000 > #define UVC_QUIRK_INVALID_DEVICE_SOF 0x00010000 > +#define UVC_QUIRK_MJPEG_NO_EOF 0x00020000 > > /* Format flags */ > #define UVC_FMT_FLAG_COMPRESSED 0x00000001 > -- > 2.43.0 > > -- Ricardo Ribalda