]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/4.4.165/usb-quirks-add-no-lpm-quirk-for-raydium-touchscreens.patch
Fixes for 4.19
[thirdparty/kernel/stable-queue.git] / releases / 4.4.165 / usb-quirks-add-no-lpm-quirk-for-raydium-touchscreens.patch
1 From deefd24228a172d1b27d4a9adbfd2cdacd60ae64 Mon Sep 17 00:00:00 2001
2 From: Kai-Heng Feng <kai.heng.feng@canonical.com>
3 Date: Fri, 26 Oct 2018 13:33:15 +0800
4 Subject: USB: quirks: Add no-lpm quirk for Raydium touchscreens
5
6 From: Kai-Heng Feng <kai.heng.feng@canonical.com>
7
8 commit deefd24228a172d1b27d4a9adbfd2cdacd60ae64 upstream.
9
10 Raydium USB touchscreen fails to set config if LPM is enabled:
11 [ 2.030658] usb 1-8: New USB device found, idVendor=2386, idProduct=3119
12 [ 2.030659] usb 1-8: New USB device strings: Mfr=1, Product=2, SerialNumber=0
13 [ 2.030660] usb 1-8: Product: Raydium Touch System
14 [ 2.030661] usb 1-8: Manufacturer: Raydium Corporation
15 [ 7.132209] usb 1-8: can't set config #1, error -110
16
17 Same behavior can be observed on 2386:3114.
18
19 Raydium claims the touchscreen supports LPM under Windows, so I used
20 Microsoft USB Test Tools (MUTT) [1] to check its LPM status. MUTT shows
21 that the LPM doesn't work under Windows, either. So let's just disable LPM
22 for Raydium touchscreens.
23
24 [1] https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-test-tools
25
26 Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
27 Cc: stable <stable@vger.kernel.org>
28 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
29 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
30
31 ---
32 drivers/usb/core/quirks.c | 5 +++++
33 1 file changed, 5 insertions(+)
34
35 --- a/drivers/usb/core/quirks.c
36 +++ b/drivers/usb/core/quirks.c
37 @@ -263,6 +263,11 @@ static const struct usb_device_id usb_qu
38 { USB_DEVICE(0x2040, 0x7200), .driver_info =
39 USB_QUIRK_CONFIG_INTF_STRINGS },
40
41 + /* Raydium Touchscreen */
42 + { USB_DEVICE(0x2386, 0x3114), .driver_info = USB_QUIRK_NO_LPM },
43 +
44 + { USB_DEVICE(0x2386, 0x3119), .driver_info = USB_QUIRK_NO_LPM },
45 +
46 /* DJI CineSSD */
47 { USB_DEVICE(0x2ca3, 0x0031), .driver_info = USB_QUIRK_NO_LPM },
48