All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] USB: quirks: Fix another ELAN touchscreen
@ 2015-11-22  4:06 ` Adrien Vergé
  0 siblings, 0 replies; 32+ messages in thread
From: Adrien Vergé @ 2015-11-22  4:06 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: Greg Kroah-Hartman, Macpaul Lin, Vincent Palatin,
	Logan Gunthorpe, Hans de Goede, Adrien Vergé,
	Yao-Wen Mao, linux-input, linux-kernel, linux-usb

Like other buggy models that had their fixes [1], the touchscreen with
id 04f3:21b8 from ELAN Microelectronics needs the device-qualifier
quirk. Otherwise, it fails to respond, blocks the boot for a random
amount of time and pollutes dmesg with:

[ 2887.373196] usb 1-5: new full-speed USB device number 41 using xhci_hcd
[ 2889.502000] usb 1-5: unable to read config index 0 descriptor/start: -71
[ 2889.502005] usb 1-5: can't read configurations, error -71
[ 2889.654571] usb 1-5: new full-speed USB device number 42 using xhci_hcd
[ 2891.783438] usb 1-5: unable to read config index 0 descriptor/start: -71
[ 2891.783443] usb 1-5: can't read configurations, error -71

[1]: See commits c68929f, 876af5d, d749947, a32c99e and dc703ec.

Tested-by: Adrien Vergé <adrienverge@gmail.com>
---
 drivers/hid/hid-ids.h           | 1 +
 drivers/hid/usbhid/hid-quirks.c | 1 +
 drivers/usb/core/quirks.c       | 3 +++
 3 files changed, 5 insertions(+)

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index ac1feea..6b68408 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -321,6 +321,7 @@
 #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103	0x0103
 #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c	0x010c
 #define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F	0x016f
+#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_21B8	0x21b8
 
 #define USB_VENDOR_ID_ELECOM		0x056e
 #define USB_DEVICE_ID_ELECOM_BM084	0x0061
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
index 94bb137..7a45942 100644
--- a/drivers/hid/usbhid/hid-quirks.c
+++ b/drivers/hid/usbhid/hid-quirks.c
@@ -77,6 +77,7 @@ static const struct hid_blacklist {
 	{ USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_0103, HID_QUIRK_ALWAYS_POLL },
 	{ USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_010c, HID_QUIRK_ALWAYS_POLL },
 	{ USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL },
+	{ USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_21B8, HID_QUIRK_ALWAYS_POLL },
 	{ USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET },
 	{ USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS },
 	{ USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET },
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index f5a3819..fcd6ac0 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -125,6 +125,9 @@ static const struct usb_device_id usb_quirk_list[] = {
 	{ USB_DEVICE(0x04f3, 0x016f), .driver_info =
 			USB_QUIRK_DEVICE_QUALIFIER },
 
+	{ USB_DEVICE(0x04f3, 0x21b8), .driver_info =
+			USB_QUIRK_DEVICE_QUALIFIER },
+
 	/* Roland SC-8820 */
 	{ USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME },
 
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2015-12-02  8:53 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-22  4:06 [PATCH] USB: quirks: Fix another ELAN touchscreen Adrien Vergé
2015-11-22  4:06 ` Adrien Vergé
2015-11-23 14:52 ` Jiri Kosina
2015-11-23 14:52   ` Jiri Kosina
2015-11-23 17:37   ` Adrien Vergé
2015-11-24  7:29     ` Oliver Neukum
2015-11-23 17:43 ` [PATCH v2] " Adrien Vergé
2015-11-24 13:49 ` [PATCH v3 0/2] Fixes for ELAN touchscreens Adrien Vergé
2015-11-24 13:49   ` [PATCH v3 1/2] USB: quirks: Fix another ELAN touchscreen Adrien Vergé
2015-11-24 13:49   ` [PATCH v3 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices Adrien Vergé
2015-11-24 14:11     ` Benjamin Tissoires
2015-11-24 14:11       ` Benjamin Tissoires
2015-11-24 14:34       ` Adrien Vergé
2015-11-24 15:02 ` [PATCH v4 0/2] Fixes for ELAN touchscreens Adrien Vergé
2015-11-24 15:02   ` Adrien Vergé
2015-11-24 15:02   ` [PATCH v4 1/2] USB: quirks: Fix another ELAN touchscreen Adrien Vergé
2015-11-24 15:02   ` [PATCH v4 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices Adrien Vergé
2015-11-24 15:02     ` Adrien Vergé
2015-11-24 16:11     ` Benjamin Tissoires
2015-11-24 16:11       ` Benjamin Tissoires
2015-11-24 16:41     ` kbuild test robot
2015-11-24 16:41       ` kbuild test robot
2015-12-01 18:21     ` Greg Kroah-Hartman
2015-12-01 18:56 ` [PATCH v5 0/2] Fixes for ELAN touchscreens Adrien Vergé
2015-12-01 18:56   ` [PATCH v5 1/2] USB: quirks: Fix another ELAN touchscreen Adrien Vergé
2015-12-01 18:56     ` Adrien Vergé
2015-12-01 18:56   ` [PATCH v5 2/2] USB: quirks: Apply ALWAYS_POLL to all ELAN devices Adrien Vergé
2015-12-01 22:09     ` Jiri Kosina
2015-12-01 22:09       ` Jiri Kosina
2015-12-01 22:11       ` Greg Kroah-Hartman
2015-12-01 22:11         ` Greg Kroah-Hartman
2015-12-02  8:53         ` Adrien Vergé

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.