100 lines
3.9 KiB
Diff
100 lines
3.9 KiB
Diff
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Date: Thu, 19 Jul 2012 12:39:14 +0200
|
|
Subject: usb: Add USB_QUIRK_RESET_RESUME for all Logitech UVC webcams
|
|
|
|
commit e387ef5c47ddeaeaa3cbdc54424cdb7a28dae2c0 upstream.
|
|
|
|
Most Logitech UVC webcams (both early models that don't advertise UVC
|
|
compatibility and newer UVC-advertised devices) require the RESET_RESUME
|
|
quirk. Instead of listing each and every model, match the devices based
|
|
on the UVC interface information.
|
|
|
|
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
Acked-by: Alan Stern <stern@rowland.harvard.edu>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
---
|
|
drivers/usb/core/quirks.c | 58 +++++++++++++--------------------------------
|
|
1 file changed, 16 insertions(+), 42 deletions(-)
|
|
|
|
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
|
|
index cbd15d1..f15501f4c 100644
|
|
--- a/drivers/usb/core/quirks.c
|
|
+++ b/drivers/usb/core/quirks.c
|
|
@@ -43,53 +43,23 @@ static const struct usb_device_id usb_quirk_list[] = {
|
|
/* Creative SB Audigy 2 NX */
|
|
{ USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
|
|
- /* Logitech Webcam C200 */
|
|
- { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+ /* Logitech Quickcam Fusion */
|
|
+ { USB_DEVICE(0x046d, 0x08c1), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
|
|
- /* Logitech Webcam C250 */
|
|
- { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+ /* Logitech Quickcam Orbit MP */
|
|
+ { USB_DEVICE(0x046d, 0x08c2), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
|
|
- /* Logitech Webcam C300 */
|
|
- { USB_DEVICE(0x046d, 0x0805), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+ /* Logitech Quickcam Pro for Notebook */
|
|
+ { USB_DEVICE(0x046d, 0x08c3), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
|
|
- /* Logitech Webcam B/C500 */
|
|
- { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+ /* Logitech Quickcam Pro 5000 */
|
|
+ { USB_DEVICE(0x046d, 0x08c5), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
|
|
- /* Logitech Webcam C600 */
|
|
- { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+ /* Logitech Quickcam OEM Dell Notebook */
|
|
+ { USB_DEVICE(0x046d, 0x08c6), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
|
|
- /* Logitech Webcam Pro 9000 */
|
|
- { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
-
|
|
- /* Logitech Webcam C905 */
|
|
- { USB_DEVICE(0x046d, 0x080a), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
-
|
|
- /* Logitech Webcam C210 */
|
|
- { USB_DEVICE(0x046d, 0x0819), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
-
|
|
- /* Logitech Webcam C260 */
|
|
- { USB_DEVICE(0x046d, 0x081a), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
-
|
|
- /* Logitech Webcam C310 */
|
|
- { USB_DEVICE(0x046d, 0x081b), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
-
|
|
- /* Logitech Webcam C910 */
|
|
- { USB_DEVICE(0x046d, 0x0821), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
-
|
|
- /* Logitech Webcam C160 */
|
|
- { USB_DEVICE(0x046d, 0x0824), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
-
|
|
- /* Logitech Webcam C270 */
|
|
- { USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
-
|
|
- /* Logitech Quickcam Pro 9000 */
|
|
- { USB_DEVICE(0x046d, 0x0990), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
-
|
|
- /* Logitech Quickcam E3500 */
|
|
- { USB_DEVICE(0x046d, 0x09a4), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
-
|
|
- /* Logitech Quickcam Vision Pro */
|
|
- { USB_DEVICE(0x046d, 0x09a6), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+ /* Logitech Quickcam OEM Cisco VT Camera II */
|
|
+ { USB_DEVICE(0x046d, 0x08c7), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
|
|
/* Logitech Harmony 700-series */
|
|
{ USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
|
|
@@ -162,6 +132,10 @@ static const struct usb_device_id usb_quirk_list[] = {
|
|
};
|
|
|
|
static const struct usb_device_id usb_interface_quirk_list[] = {
|
|
+ /* Logitech UVC Cameras */
|
|
+ { USB_VENDOR_AND_INTERFACE_INFO(0x046d, USB_CLASS_VIDEO, 1, 0),
|
|
+ .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+
|
|
{ } /* terminating entry must be last */
|
|
};
|
|
|