ELAN i2c touchpad fail on warm reboot

From: João Paulo Rechi Vita <jprvita@gmail.com>
Date: 2016-05-24 22:20:53

ELAN touchpads connected via i2c do not work correctly on a warm
reboot from a system that does not fully support them into linux
mainline. This is a somewhat esoteric bug, but it affects factory
production lines where a machine first boots some kind of flashing
tool / installer (which does not have proper support for this
touchpad) and then reboots into the installed system to run a factory
test procedure.

To reproduce it one needs a modified kernel where the touchpad is
driven by i2c_hid, so removing the ACPI HW id from
drivers/input/mouse/elan_i2c_core.c and removing the
USB_VENDOR_ID_ELAN entries from hid_ignore_list[] in
drivers/hid/hid-core.c should be enough. Then doing a warm reboot from
this modified kernel into mainline prevents the touchpad from working
at all, and dmesg gets flooded with these messages:

elan_i2c i2c-ELAN1000:00: invalid report id data (1)

Any ideas are welcome, and I can provide more data / run tests if needed.

This has been seen on the Asus E202SA, N552VW and X456UF.

Thanks and regards,

--
João Paulo Rechi Vita
http://about.me/jprvita
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help