76 lines
2.8 KiB
Diff
76 lines
2.8 KiB
Diff
From d5446509abd85b6845d91a319a033c5bd17e494d Mon Sep 17 00:00:00 2001
|
|
From: Oliver Neukum <oneukum-l3A5Bk7waGM@public.gmane.org>
|
|
Date: Tue, 13 Sep 2011 08:42:21 +0200
|
|
Subject: [PATCH] USB:add RESET_RESUME for webcams shown to be quirky
|
|
|
|
From 6f673c5ef819548b2cbaf7bb607779af6fdbe731 Mon Sep 17 00:00:00 2001
|
|
From: Oliver Neukum <oliver-GvhC2dPhHPQdnm+yROfE0A@public.gmane.org>
|
|
Date: Tue, 30 Aug 2011 15:34:32 +0200
|
|
Subject: [PATCH] USB:add RESET_RESUME for webcams shown to be quirky
|
|
|
|
The new runtime PM code has shown that many webcams suffer
|
|
from a race condition that may crash them upon resume.
|
|
Runtime PM is especially prone to show the problem because
|
|
it retains power to the cameras at all times. However
|
|
system suspension may also crash the devices and retain
|
|
power to the devices.
|
|
The only way to solve this problem without races is in
|
|
usbcore with the RESET_RESUME quirk.
|
|
|
|
Signed-off-by: Oliver Neukum <oneukum-l3A5Bk7waGM@public.gmane.org>
|
|
|
|
Add C300 ID from patch in rhbz #742010
|
|
Add C600 ID from rhbz #742010
|
|
---
|
|
drivers/usb/core/quirks.c | 27 +++++++++++++++++++++++++++
|
|
1 files changed, 27 insertions(+), 0 deletions(-)
|
|
|
|
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
|
|
index 81ce6a8..caa1991 100644
|
|
--- a/drivers/usb/core/quirks.c
|
|
+++ b/drivers/usb/core/quirks.c
|
|
@@ -38,6 +38,30 @@ 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 Webcam C250 */
|
|
+ { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+
|
|
+ /* Logitech Webcam C300 */
|
|
+ { USB_DEVICE(0x046d, 0x0805), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+
|
|
+ /* Logitech Webcam B/C500 */
|
|
+ { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+
|
|
+ /* Logitech Webcam C600 */
|
|
+ { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+
|
|
+ /* Logitech Webcam Pro 9000 */
|
|
+ { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+
|
|
+ /* Logitech Webcam C310 */
|
|
+ { USB_DEVICE(0x046d, 0x081b), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+
|
|
+ /* Logitech Webcam C270 */
|
|
+ { USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+
|
|
/* Logitech Harmony 700-series */
|
|
{ USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
|
|
|
|
@@ -69,6 +93,9 @@ static const struct usb_device_id usb_quirk_list[] = {
|
|
{ USB_DEVICE(0x06a3, 0x0006), .driver_info =
|
|
USB_QUIRK_CONFIG_INTF_STRINGS },
|
|
|
|
+ /* Guillemot Webcam Hercules Dualpix Exchange*/
|
|
+ { USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
+
|
|
/* M-Systems Flash Disk Pioneers */
|
|
{ USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
|
|
--
|
|
1.7.6.4
|
|
|