100 lines
3.7 KiB
Diff
100 lines
3.7 KiB
Diff
|
commit 2394d67e446bf616a0885167d5f0d397bdacfdfc
|
||
|
Author: Oliver Neukum <oneukum@suse.de>
|
||
|
Date: Tue Sep 13 08:42:21 2011 +0200
|
||
|
|
||
|
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@suse.de>
|
||
|
Signed-off-by: stable <stable@kernel.org>
|
||
|
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
||
|
|
||
|
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
|
||
|
index 81ce6a8..38f0510 100644
|
||
|
--- a/drivers/usb/core/quirks.c
|
||
|
+++ b/drivers/usb/core/quirks.c
|
||
|
@@ -38,6 +38,24 @@ 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 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 },
|
||
|
+
|
||
|
+ /* 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 +87,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 },
|
||
|
|
||
|
commit 5b253d88cc6c65a23cefc457a5a4ef139913c5fc
|
||
|
Author: Jon Levell <linuxusb@coralbark.net>
|
||
|
Date: Thu Sep 29 20:42:52 2011 +0100
|
||
|
|
||
|
USB: add quirk for Logitech C300 web cam
|
||
|
|
||
|
My webcam is a Logitech C300 and I get "chipmunk"ed squeaky sound.
|
||
|
The following trivial patch fixes it.
|
||
|
|
||
|
Signed-off-by: Jon Levell <linuxusb@coralbark.net>
|
||
|
Cc: stable <stable@kernel.org>
|
||
|
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
||
|
|
||
|
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
|
||
|
index 38f0510..d6a8d82 100644
|
||
|
--- a/drivers/usb/core/quirks.c
|
||
|
+++ b/drivers/usb/core/quirks.c
|
||
|
@@ -44,6 +44,9 @@ static const struct usb_device_id usb_quirk_list[] = {
|
||
|
/* 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 },
|
||
|
|
||
|
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
|
||
|
index d6a8d82..caa1991 100644
|
||
|
--- a/drivers/usb/core/quirks.c
|
||
|
+++ b/drivers/usb/core/quirks.c
|
||
|
@@ -50,6 +50,9 @@ static const struct usb_device_id usb_quirk_list[] = {
|
||
|
/* 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 },
|
||
|
|