On Mon Jun 2 18:21:57 2025 +0000, Ricardo Ribalda wrote:
> HP Webcam HD 2300 does not seem to flip the FID bit according to spec.
> 
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               2.00
>   bDeviceClass          239 Miscellaneous Device
>   bDeviceSubClass         2 [unknown]
>   bDeviceProtocol         1 Interface Association
>   bMaxPacketSize0        64
>   idVendor           0x03f0 HP, Inc
>   idProduct          0xe207 HP Webcam HD 2300
>   bcdDevice           10.20
>   iManufacturer           3 Hewlett Packard
>   iProduct                1 HP Webcam HD 2300
>   iSerial                 0
>   bNumConfigurations      1
> 
> Reported-by: Michaël Melchiore <rohe...@gmail.com>
> Closes: 
> https://lore.kernel.org/linux-media/CA+q66aRvTigH15cUyfvzPJ2mfsDFMt=cjuynwvazb29w8b1...@mail.gmail.com
> Signed-off-by: Ricardo Ribalda <riba...@chromium.org>
> Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
> Link: 
> https://lore.kernel.org/r/20250602-uvc-hp-quirk-v1-1-7047d94d6...@chromium.org
> Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
> Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>

Patch committed.

Thanks,
Hans Verkuil

 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 04552da11435..916c2d13e268 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -2510,6 +2510,15 @@ static const struct uvc_device_info uvc_quirk_force_y8 = 
{
  * Sort these by vendor/product ID.
  */
 static const struct usb_device_id uvc_ids[] = {
+       /* HP Webcam HD 2300 */
+       { .match_flags          = USB_DEVICE_ID_MATCH_DEVICE
+                               | USB_DEVICE_ID_MATCH_INT_INFO,
+         .idVendor             = 0x03f0,
+         .idProduct            = 0xe207,
+         .bInterfaceClass      = USB_CLASS_VIDEO,
+         .bInterfaceSubClass   = 1,
+         .bInterfaceProtocol   = 0,
+         .driver_info          = (kernel_ulong_t)&uvc_quirk_stream_no_fid },
        /* Quanta ACER HD User Facing */
        { .match_flags          = USB_DEVICE_ID_MATCH_DEVICE
                                | USB_DEVICE_ID_MATCH_INT_INFO,

Reply via email to