Hi Huanglei, Thank you for the patch. On Thu, Aug 18, 2022 at 10:23:38AM +0800, huanglei wrote: > The device does not implement the power line control correctly. Add a > corresponding control mapping override. > > Bus 003 Device 003: ID 3277:0072 Sonix Technology Co., Ltd. USB 2.0 Camera > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 2.00 > bDeviceClass 239 Miscellaneous Device > bDeviceSubClass 2 > bDeviceProtocol 1 Interface Association > bMaxPacketSize0 64 > idVendor 0x3277 > idProduct 0x0072 > bcdDevice 1.00 > iManufacturer 2 Sonix Technology Co., Ltd. > iProduct 1 USB 2.0 Camera > iSerial 3 REV0001 > bNumConfigurations 1 Would you be able to send me the full descriptors for that device ? > Signed-off-by: huanglei <huanglei@xxxxxxxxxx> > --- > drivers/media/usb/uvc/uvc_driver.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c > index 9c05776f11d1..218db3f1db5d 100644 > --- a/drivers/media/usb/uvc/uvc_driver.c > +++ b/drivers/media/usb/uvc/uvc_driver.c > @@ -3282,6 +3282,15 @@ static const struct usb_device_id uvc_ids[] = { > .bInterfaceSubClass = 1, > .bInterfaceProtocol = 0, > .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) }, > + /* Sonix Technology USB 2.0 Camera */ > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE > + | USB_DEVICE_ID_MATCH_INT_INFO, > + .idVendor = 0x3277, > + .idProduct = 0x0072, > + .bInterfaceClass = USB_CLASS_VENDOR_SPEC, Does the device really implement a vendor class ? > + .bInterfaceSubClass = 1, > + .bInterfaceProtocol = 0, > + .driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_limited }, This should be moved up to keep the list sorted by VID:PID. > /* Generic USB Video Class */ > { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_UNDEFINED) }, > { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_15) }, -- Regards, Laurent Pinchart