mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 02:21:52 +09:00
media: uvcvideo: Force UVC version to 1.0a for 1bcf:0b40
The Shenzhen Aoni Electronic Co.,Ltd 2K FHD camera reports a UVC 1.10 version, but implements UVC 1.0a as shown by the UVC probe control being 26 bytes long. Force the UVC version for that device. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reported-by: Doncho Minkov <donchominkov@gmail.com> Tested-by: Doncho Minkov <donchominkov@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
ea354b6ddd
commit
b400b6f28a
@@ -2274,6 +2274,12 @@ static int uvc_probe(struct usb_interface *intf,
|
||||
"linux-uvc-devel mailing list.\n");
|
||||
}
|
||||
|
||||
if (dev->info->uvc_version) {
|
||||
dev->uvc_version = dev->info->uvc_version;
|
||||
uvc_printk(KERN_INFO, "Forcing UVC version to %u.%02x\n",
|
||||
dev->uvc_version >> 8, dev->uvc_version & 0xff);
|
||||
}
|
||||
|
||||
/* Register the V4L2 device. */
|
||||
if (v4l2_device_register(&intf->dev, &dev->vdev) < 0)
|
||||
goto error;
|
||||
@@ -2923,6 +2929,17 @@ static const struct usb_device_id uvc_ids[] = {
|
||||
.bInterfaceSubClass = 1,
|
||||
.bInterfaceProtocol = 0,
|
||||
.driver_info = (kernel_ulong_t)&uvc_quirk_probe_minmax },
|
||||
/* Shenzhen Aoni Electronic Co.,Ltd 2K FHD camera */
|
||||
{ .match_flags = USB_DEVICE_ID_MATCH_DEVICE
|
||||
| USB_DEVICE_ID_MATCH_INT_INFO,
|
||||
.idVendor = 0x1bcf,
|
||||
.idProduct = 0x0b40,
|
||||
.bInterfaceClass = USB_CLASS_VIDEO,
|
||||
.bInterfaceSubClass = 1,
|
||||
.bInterfaceProtocol = 0,
|
||||
.driver_info = (kernel_ulong_t)&(const struct uvc_device_info){
|
||||
.uvc_version = 0x010a,
|
||||
} },
|
||||
/* SiGma Micro USB Web Camera */
|
||||
{ .match_flags = USB_DEVICE_ID_MATCH_DEVICE
|
||||
| USB_DEVICE_ID_MATCH_INT_INFO,
|
||||
|
||||
@@ -635,6 +635,7 @@ static inline u32 uvc_urb_index(const struct uvc_urb *uvc_urb)
|
||||
struct uvc_device_info {
|
||||
u32 quirks;
|
||||
u32 meta_format;
|
||||
u16 uvc_version;
|
||||
};
|
||||
|
||||
struct uvc_device {
|
||||
|
||||
Reference in New Issue
Block a user