| From deefd24228a172d1b27d4a9adbfd2cdacd60ae64 Mon Sep 17 00:00:00 2001 |
| From: Kai-Heng Feng <kai.heng.feng@canonical.com> |
| Date: Fri, 26 Oct 2018 13:33:15 +0800 |
| Subject: USB: quirks: Add no-lpm quirk for Raydium touchscreens |
| |
| From: Kai-Heng Feng <kai.heng.feng@canonical.com> |
| |
| commit deefd24228a172d1b27d4a9adbfd2cdacd60ae64 upstream. |
| |
| Raydium USB touchscreen fails to set config if LPM is enabled: |
| [ 2.030658] usb 1-8: New USB device found, idVendor=2386, idProduct=3119 |
| [ 2.030659] usb 1-8: New USB device strings: Mfr=1, Product=2, SerialNumber=0 |
| [ 2.030660] usb 1-8: Product: Raydium Touch System |
| [ 2.030661] usb 1-8: Manufacturer: Raydium Corporation |
| [ 7.132209] usb 1-8: can't set config #1, error -110 |
| |
| Same behavior can be observed on 2386:3114. |
| |
| Raydium claims the touchscreen supports LPM under Windows, so I used |
| Microsoft USB Test Tools (MUTT) [1] to check its LPM status. MUTT shows |
| that the LPM doesn't work under Windows, either. So let's just disable LPM |
| for Raydium touchscreens. |
| |
| [1] https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-test-tools |
| |
| Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> |
| Cc: stable <stable@vger.kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/core/quirks.c | 5 +++++ |
| 1 file changed, 5 insertions(+) |
| |
| --- a/drivers/usb/core/quirks.c |
| +++ b/drivers/usb/core/quirks.c |
| @@ -411,6 +411,11 @@ static const struct usb_device_id usb_qu |
| { USB_DEVICE(0x2040, 0x7200), .driver_info = |
| USB_QUIRK_CONFIG_INTF_STRINGS }, |
| |
| + /* Raydium Touchscreen */ |
| + { USB_DEVICE(0x2386, 0x3114), .driver_info = USB_QUIRK_NO_LPM }, |
| + |
| + { USB_DEVICE(0x2386, 0x3119), .driver_info = USB_QUIRK_NO_LPM }, |
| + |
| /* DJI CineSSD */ |
| { USB_DEVICE(0x2ca3, 0x0031), .driver_info = USB_QUIRK_NO_LPM }, |
| |