updated on Thu Jan 12 08:01:00 UTC 2012
[aur-mirror.git] / linux-ideapad / usb-add-reset-resume-quirk-for-several-webcams.patch
blob9e570dd3f4690529ac2d8e7aca694733b10a197d
1 commit 2394d67e446bf616a0885167d5f0d397bdacfdfc
2 Author: Oliver Neukum <oneukum@suse.de>
3 Date: Tue Sep 13 08:42:21 2011 +0200
5 USB: add RESET_RESUME for webcams shown to be quirky
7 The new runtime PM code has shown that many webcams suffer
8 from a race condition that may crash them upon resume.
9 Runtime PM is especially prone to show the problem because
10 it retains power to the cameras at all times. However
11 system suspension may also crash the devices and retain
12 power to the devices.
13 The only way to solve this problem without races is in
14 usbcore with the RESET_RESUME quirk.
16 Signed-off-by: Oliver Neukum <oneukum@suse.de>
17 Signed-off-by: stable <stable@kernel.org>
18 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
20 diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
21 index 81ce6a8..38f0510 100644
22 --- a/drivers/usb/core/quirks.c
23 +++ b/drivers/usb/core/quirks.c
24 @@ -38,6 +38,24 @@ static const struct usb_device_id usb_quirk_list[] = {
25 /* Creative SB Audigy 2 NX */
26 { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME },
28 + /* Logitech Webcam C200 */
29 + { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME },
31 + /* Logitech Webcam C250 */
32 + { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
34 + /* Logitech Webcam B/C500 */
35 + { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
37 + /* Logitech Webcam Pro 9000 */
38 + { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },
40 + /* Logitech Webcam C310 */
41 + { USB_DEVICE(0x046d, 0x081b), .driver_info = USB_QUIRK_RESET_RESUME },
43 + /* Logitech Webcam C270 */
44 + { USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME },
46 /* Logitech Harmony 700-series */
47 { USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
49 @@ -69,6 +87,9 @@ static const struct usb_device_id usb_quirk_list[] = {
50 { USB_DEVICE(0x06a3, 0x0006), .driver_info =
51 USB_QUIRK_CONFIG_INTF_STRINGS },
53 + /* Guillemot Webcam Hercules Dualpix Exchange*/
54 + { USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
56 /* M-Systems Flash Disk Pioneers */
57 { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME },
59 commit 5b253d88cc6c65a23cefc457a5a4ef139913c5fc
60 Author: Jon Levell <linuxusb@coralbark.net>
61 Date: Thu Sep 29 20:42:52 2011 +0100
63 USB: add quirk for Logitech C300 web cam
65 My webcam is a Logitech C300 and I get "chipmunk"ed squeaky sound.
66 The following trivial patch fixes it.
68 Signed-off-by: Jon Levell <linuxusb@coralbark.net>
69 Cc: stable <stable@kernel.org>
70 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
72 diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
73 index 38f0510..d6a8d82 100644
74 --- a/drivers/usb/core/quirks.c
75 +++ b/drivers/usb/core/quirks.c
76 @@ -44,6 +44,9 @@ static const struct usb_device_id usb_quirk_list[] = {
77 /* Logitech Webcam C250 */
78 { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
80 + /* Logitech Webcam C300 */
81 + { USB_DEVICE(0x046d, 0x0805), .driver_info = USB_QUIRK_RESET_RESUME },
83 /* Logitech Webcam B/C500 */
84 { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
86 diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
87 index d6a8d82..caa1991 100644
88 --- a/drivers/usb/core/quirks.c
89 +++ b/drivers/usb/core/quirks.c
90 @@ -50,6 +50,9 @@ static const struct usb_device_id usb_quirk_list[] = {
91 /* Logitech Webcam B/C500 */
92 { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
94 + /* Logitech Webcam C600 */
95 + { USB_DEVICE(0x046d, 0x0808), .driver_info = USB_QUIRK_RESET_RESUME },
97 /* Logitech Webcam Pro 9000 */
98 { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },