]> git.baikalelectronics.ru Git - kernel.git/commit
HID: i2c-hid: Don't reset device upon system resume
authorKai-Heng Feng <kai.heng.feng@canonical.com>
Thu, 6 Sep 2018 02:55:18 +0000 (10:55 +0800)
committerJiri Kosina <jkosina@suse.cz>
Thu, 6 Sep 2018 14:30:53 +0000 (16:30 +0200)
commitd81d4990fb4e1b143ac53510ad3de8dc4b67b4a2
tree18c397df8f402281d5d78f087a59be73c3c98f00
parent58796c258dd12cf9bf60fef33530c381381f79ef
HID: i2c-hid: Don't reset device upon system resume

Raydium touchscreen triggers interrupt storm after system-wide suspend:

[ 179.085033] i2c_hid i2c-CUST0000:00: i2c_hid_get_input: incomplete report (58/65535)

According to Raydium, Windows driver does not reset the device after system
resume.

The HID over I2C spec does specify a reset should be used at intialization, but
it doesn't specify if reset is required for system suspend.

Tested this patch on other i2c-hid touchpanels I have and those touchpanels do
work after S3 without doing reset. If any regression happens to other
touchpanel vendors, we can use quirk for Raydium devices.

There's still one device uses I2C_HID_QUIRK_RESEND_REPORT_DESCR so keep it
there.

Cc: Aaron Ma <aaron.ma@canonical.com>
Cc: AceLan Kao <acelan.kao@canonical.com>
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-ids.h
drivers/hid/i2c-hid/i2c-hid.c