2011-09-29 15:29:26 +00:00
|
|
|
From 48ff94510ecf6b36c793c40ae3d15ce39a331e17 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
|
2011-08-11 18:59:19 +00:00
|
|
|
|
2011-09-29 15:29:26 +00:00
|
|
|
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
|
|
|
|
---
|
|
|
|
drivers/usb/core/quirks.c | 24 ++++++++++++++++++++++++
|
|
|
|
1 files changed, 24 insertions(+), 0 deletions(-)
|
2011-08-11 18:59:19 +00:00
|
|
|
|
|
|
|
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
|
2011-09-29 15:29:26 +00:00
|
|
|
index 81ce6a8..d6a8d82 100644
|
2011-08-11 18:59:19 +00:00
|
|
|
--- a/drivers/usb/core/quirks.c
|
|
|
|
+++ b/drivers/usb/core/quirks.c
|
2011-09-29 15:29:26 +00:00
|
|
|
@@ -38,6 +38,27 @@ static const struct usb_device_id usb_quirk_list[] = {
|
|
|
|
/* Creative SB Audigy 2 NX */
|
|
|
|
{ USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME },
|
2011-08-11 18:59:19 +00:00
|
|
|
|
2011-09-29 15:29:26 +00:00
|
|
|
+ /* Logitech Webcam C200 */
|
|
|
|
+ { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
|
|
+
|
2011-08-11 18:59:19 +00:00
|
|
|
+ /* Logitech Webcam C250 */
|
|
|
|
+ { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
|
|
+
|
2011-09-29 15:29:26 +00:00
|
|
|
+ /* 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 Pro 9000 */
|
|
|
|
+ { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },
|
|
|
|
+
|
2011-08-11 18:59:19 +00:00
|
|
|
+ /* 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 },
|
|
|
|
+
|
2011-09-29 15:29:26 +00:00
|
|
|
/* Logitech Harmony 700-series */
|
|
|
|
{ USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
|
|
|
|
|
|
|
|
@@ -69,6 +90,9 @@ static const struct usb_device_id usb_quirk_list[] = {
|
|
|
|
{ USB_DEVICE(0x06a3, 0x0006), .driver_info =
|
|
|
|
USB_QUIRK_CONFIG_INTF_STRINGS },
|
2011-08-11 18:59:19 +00:00
|
|
|
|
2011-09-29 15:29:26 +00:00
|
|
|
+ /* 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
|
|
|
|
|