HID: i2c-hid: fix no irq after reset on raydium 3118
diff mbox series

Message ID 20191113191247.1984-1-aaron.ma@canonical.com
State Mainlined
Commit 0c8432236dea20a95f68fa17989ea3f8af0186a5
Delegated to: Jiri Kosina
Headers show
Series
  • HID: i2c-hid: fix no irq after reset on raydium 3118
Related show

Commit Message

Aaron Ma Nov. 13, 2019, 7:12 p.m. UTC
On some ThinkPad L390 some raydium 3118 touchscreen devices
doesn't response any data after reset, but some does.

Add this ID to no irq quirk,
then don't wait for any response alike on these touchscreens.
All kinds of raydium 3118 devices work fine.

BugLink: https://bugs.launchpad.net/bugs/1849721

Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
---
 drivers/hid/hid-ids.h              | 1 +
 drivers/hid/i2c-hid/i2c-hid-core.c | 2 ++
 2 files changed, 3 insertions(+)

Comments

Jiri Kosina Nov. 15, 2019, 3:19 p.m. UTC | #1
On Thu, 14 Nov 2019, Aaron Ma wrote:

> On some ThinkPad L390 some raydium 3118 touchscreen devices
> doesn't response any data after reset, but some does.
> 
> Add this ID to no irq quirk,
> then don't wait for any response alike on these touchscreens.
> All kinds of raydium 3118 devices work fine.
> 
> BugLink: https://bugs.launchpad.net/bugs/1849721

Applied, thank you Aaron.

Patch
diff mbox series

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 447e8db21174..8354dd5d0fa3 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -959,6 +959,7 @@ 
 
 #define I2C_VENDOR_ID_RAYDIUM		0x2386
 #define I2C_PRODUCT_ID_RAYDIUM_4B33	0x4b33
+#define I2C_PRODUCT_ID_RAYDIUM_3118	0x3118
 
 #define USB_VENDOR_ID_RAZER            0x1532
 #define USB_DEVICE_ID_RAZER_BLADE_14   0x011D
diff --git a/drivers/hid/i2c-hid/i2c-hid-core.c b/drivers/hid/i2c-hid/i2c-hid-core.c
index 04c088131e04..7608ee053114 100644
--- a/drivers/hid/i2c-hid/i2c-hid-core.c
+++ b/drivers/hid/i2c-hid/i2c-hid-core.c
@@ -170,6 +170,8 @@  static const struct i2c_hid_quirks {
 		I2C_HID_QUIRK_SET_PWR_WAKEUP_DEV },
 	{ I2C_VENDOR_ID_HANTICK, I2C_PRODUCT_ID_HANTICK_5288,
 		I2C_HID_QUIRK_NO_IRQ_AFTER_RESET },
+	{ I2C_VENDOR_ID_RAYDIUM, I2C_PRODUCT_ID_RAYDIUM_3118,
+		I2C_HID_QUIRK_NO_IRQ_AFTER_RESET },
 	{ USB_VENDOR_ID_ELAN, HID_ANY_ID,
 		 I2C_HID_QUIRK_BOGUS_IRQ },
 	{ 0, 0 }