diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2012-07-19 06:39:14 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-07-19 18:46:32 -0400 |
commit | e387ef5c47ddeaeaa3cbdc54424cdb7a28dae2c0 (patch) | |
tree | 126628e912abc8947c27fed55be526d84c9cb4ac /drivers/usb | |
parent | 80da2e0df5af700518611b7d1cc4fc9945bcaf95 (diff) |
usb: Add USB_QUIRK_RESET_RESUME for all Logitech UVC webcams
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>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/core/quirks.c | 58 |
1 files changed, 16 insertions, 42 deletions
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c index cbd15d1d25d3..f15501f4c585 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[] = { | |||
43 | /* Creative SB Audigy 2 NX */ | 43 | /* Creative SB Audigy 2 NX */ |
44 | { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME }, | 44 | { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME }, |
45 | 45 | ||
46 | /* Logitech Webcam C200 */ | 46 | /* Logitech Quickcam Fusion */ |
47 | { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME }, | 47 | { USB_DEVICE(0x046d, 0x08c1), .driver_info = USB_QUIRK_RESET_RESUME }, |
48 | 48 | ||
49 | /* Logitech Webcam C250 */ | 49 | /* Logitech Quickcam Orbit MP */ |
50 | { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME }, | 50 | { USB_DEVICE(0x046d, 0x08c2), .driver_info = USB_QUIRK_RESET_RESUME }, |
51 | 51 | ||
52 | /* Logitech Webcam C300 */ | 52 | /* Logitech Quickcam Pro for Notebook */ |
53 | { USB_DEVICE(0x046d, 0x0805), .driver_info = USB_QUIRK_RESET_RESUME }, | 53 | { USB_DEVICE(0x046d, 0x08c3), .driver_info = USB_QUIRK_RESET_RESUME }, |
54 | 54 | ||
55 | /* Logitech Webcam B/C500 */ | 55 | /* Logitech Quickcam Pro 5000 */ |
56 | { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME }, | 56 | { USB_DEVICE(0x046d, 0x08c5), .driver_info = USB_QUIRK_RESET_RESUME }, |
57 | 57 | ||
58 | /* Logitech Webcam C600 */ | 58 | /* Logitech Quickcam OEM Dell Notebook */ |
59 | { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME }, | 59 | { USB_DEVICE(0x046d, 0x08c6), .driver_info = USB_QUIRK_RESET_RESUME }, |
60 | 60 | ||
61 | /* Logitech Webcam Pro 9000 */ | 61 | /* Logitech Quickcam OEM Cisco VT Camera II */ |
62 | { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME }, | 62 | { USB_DEVICE(0x046d, 0x08c7), .driver_info = USB_QUIRK_RESET_RESUME }, |
63 | |||
64 | /* Logitech Webcam C905 */ | ||
65 | { USB_DEVICE(0x046d, 0x080a), .driver_info = USB_QUIRK_RESET_RESUME }, | ||
66 | |||
67 | /* Logitech Webcam C210 */ | ||
68 | { USB_DEVICE(0x046d, 0x0819), .driver_info = USB_QUIRK_RESET_RESUME }, | ||
69 | |||
70 | /* Logitech Webcam C260 */ | ||
71 | { USB_DEVICE(0x046d, 0x081a), .driver_info = USB_QUIRK_RESET_RESUME }, | ||
72 | |||
73 | /* Logitech Webcam C310 */ | ||
74 | { USB_DEVICE(0x046d, 0x081b), .driver_info = USB_QUIRK_RESET_RESUME }, | ||
75 | |||
76 | /* Logitech Webcam C910 */ | ||
77 | { USB_DEVICE(0x046d, 0x0821), .driver_info = USB_QUIRK_RESET_RESUME }, | ||
78 | |||
79 | /* Logitech Webcam C160 */ | ||
80 | { USB_DEVICE(0x046d, 0x0824), .driver_info = USB_QUIRK_RESET_RESUME }, | ||
81 | |||
82 | /* Logitech Webcam C270 */ | ||
83 | { USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME }, | ||
84 | |||
85 | /* Logitech Quickcam Pro 9000 */ | ||
86 | { USB_DEVICE(0x046d, 0x0990), .driver_info = USB_QUIRK_RESET_RESUME }, | ||
87 | |||
88 | /* Logitech Quickcam E3500 */ | ||
89 | { USB_DEVICE(0x046d, 0x09a4), .driver_info = USB_QUIRK_RESET_RESUME }, | ||
90 | |||
91 | /* Logitech Quickcam Vision Pro */ | ||
92 | { USB_DEVICE(0x046d, 0x09a6), .driver_info = USB_QUIRK_RESET_RESUME }, | ||
93 | 63 | ||
94 | /* Logitech Harmony 700-series */ | 64 | /* Logitech Harmony 700-series */ |
95 | { USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT }, | 65 | { USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT }, |
@@ -162,6 +132,10 @@ static const struct usb_device_id usb_quirk_list[] = { | |||
162 | }; | 132 | }; |
163 | 133 | ||
164 | static const struct usb_device_id usb_interface_quirk_list[] = { | 134 | static const struct usb_device_id usb_interface_quirk_list[] = { |
135 | /* Logitech UVC Cameras */ | ||
136 | { USB_VENDOR_AND_INTERFACE_INFO(0x046d, USB_CLASS_VIDEO, 1, 0), | ||
137 | .driver_info = USB_QUIRK_RESET_RESUME }, | ||
138 | |||
165 | { } /* terminating entry must be last */ | 139 | { } /* terminating entry must be last */ |
166 | }; | 140 | }; |
167 | 141 | ||