]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/3.1.1/usb-add-reset_resume-for-webcams-shown-to-be-quirky.patch
5.1-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 3.1.1 / usb-add-reset_resume-for-webcams-shown-to-be-quirky.patch
CommitLineData
dc1c5f6a
GKH
1From 2394d67e446bf616a0885167d5f0d397bdacfdfc Mon Sep 17 00:00:00 2001
2From: Oliver Neukum <oneukum@suse.de>
3Date: Tue, 13 Sep 2011 08:42:21 +0200
4Subject: USB: add RESET_RESUME for webcams shown to be quirky
5
6From: Oliver Neukum <oneukum@suse.de>
7
8commit 2394d67e446bf616a0885167d5f0d397bdacfdfc upstream.
9
10The new runtime PM code has shown that many webcams suffer
11from a race condition that may crash them upon resume.
12Runtime PM is especially prone to show the problem because
13it retains power to the cameras at all times. However
14system suspension may also crash the devices and retain
15power to the devices.
16The only way to solve this problem without races is in
17usbcore with the RESET_RESUME quirk.
18
19Signed-off-by: Oliver Neukum <oneukum@suse.de>
20Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
21
22---
23 drivers/usb/core/quirks.c | 21 +++++++++++++++++++++
24 1 file changed, 21 insertions(+)
25
26--- a/drivers/usb/core/quirks.c
27+++ b/drivers/usb/core/quirks.c
28@@ -38,6 +38,24 @@ static const struct usb_device_id usb_qu
29 /* Creative SB Audigy 2 NX */
30 { USB_DEVICE(0x041e, 0x3020), .driver_info = USB_QUIRK_RESET_RESUME },
31
32+ /* Logitech Webcam C200 */
33+ { USB_DEVICE(0x046d, 0x0802), .driver_info = USB_QUIRK_RESET_RESUME },
34+
35+ /* Logitech Webcam C250 */
36+ { USB_DEVICE(0x046d, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
37+
38+ /* Logitech Webcam B/C500 */
39+ { USB_DEVICE(0x046d, 0x0807), .driver_info = USB_QUIRK_RESET_RESUME },
40+
41+ /* Logitech Webcam Pro 9000 */
42+ { USB_DEVICE(0x046d, 0x0809), .driver_info = USB_QUIRK_RESET_RESUME },
43+
44+ /* Logitech Webcam C310 */
45+ { USB_DEVICE(0x046d, 0x081b), .driver_info = USB_QUIRK_RESET_RESUME },
46+
47+ /* Logitech Webcam C270 */
48+ { USB_DEVICE(0x046d, 0x0825), .driver_info = USB_QUIRK_RESET_RESUME },
49+
50 /* Logitech Harmony 700-series */
51 { USB_DEVICE(0x046d, 0xc122), .driver_info = USB_QUIRK_DELAY_INIT },
52
53@@ -69,6 +87,9 @@ static const struct usb_device_id usb_qu
54 { USB_DEVICE(0x06a3, 0x0006), .driver_info =
55 USB_QUIRK_CONFIG_INTF_STRINGS },
56
57+ /* Guillemot Webcam Hercules Dualpix Exchange*/
58+ { USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
59+
60 /* M-Systems Flash Disk Pioneers */
61 { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME },
62