Commit a991aa5e authored by Xu Rao's avatar Xu Rao Committed by Jiri Kosina
Browse files

HID: i2c-hid: add reset quirk for BLTP7853 touchpad



The BLTP7853 I2C HID touchpad may fail to probe after reboot or
reprobe because reset completion is not signalled to the host. The
driver then waits for the reset-complete interrupt until it times out
and the device probe fails:

  i2c_hid i2c-BLTP7853:00: failed to reset device.
  i2c_hid i2c-BLTP7853:00: can't add hid device: -61
  i2c_hid: probe of i2c-BLTP7853:00 failed with error -61

Add I2C_HID_QUIRK_NO_IRQ_AFTER_RESET for the device so i2c-hid does
not wait for a reset interrupt that may never arrive.

Signed-off-by: default avatarXu Rao <raoxu@uniontech.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.com>
parent 20634254
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -277,6 +277,9 @@
#define USB_VENDOR_ID_BIGBEN	0x146b
#define USB_DEVICE_ID_BIGBEN_PS3OFMINIPAD	0x0902

#define I2C_VENDOR_ID_BLTP		0x36b6
#define I2C_PRODUCT_ID_BLTP7853		0xc001

#define USB_VENDOR_ID_BTC		0x046e
#define USB_DEVICE_ID_BTC_EMPREX_REMOTE	0x5578
#define USB_DEVICE_ID_BTC_EMPREX_REMOTE_2	0x5577
+2 −0
Original line number Diff line number Diff line
@@ -149,6 +149,8 @@ static const struct i2c_hid_quirks {
		 I2C_HID_QUIRK_BOGUS_IRQ },
	{ I2C_VENDOR_ID_GOODIX, I2C_DEVICE_ID_GOODIX_0D42,
		 I2C_HID_QUIRK_DELAY_WAKEUP_AFTER_RESUME },
	{ I2C_VENDOR_ID_BLTP, I2C_PRODUCT_ID_BLTP7853,
		I2C_HID_QUIRK_NO_IRQ_AFTER_RESET },
	{ 0, 0 }
};