Input: synaptics-rmi4 - only read the F54 query registers which are used
authorAndrew Duggan <aduggan@synaptics.com>
Fri, 23 Jun 2017 07:04:51 +0000 (00:04 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 23 Jun 2017 07:08:48 +0000 (00:08 -0700)
commit9768935264c4f0e4afd788a185d8e8d89c28e41d
tree35a8e2cc2b4e7e41e2afc7cce1cb2b7f365fe25d
parent817ae460c784f32cd45e60b2b1b21378c3c6a847
Input: synaptics-rmi4 - only read the F54 query registers which are used

The F54 driver is currently only using the first 6 bytes of F54 so there is
no need to read all 27 bytes. Some Dell systems (Dell XP13 9333 and
similar) have an issue with the touchpad or I2C bus when reading reports
larger then 16 bytes. Reads larger then 16 bytes are reported in two HID
reports. Something about the back to back reports seems to cause the next
read to report incorrect data. This results in F30 failing to load and the
click button failing to work.

Previous issues with the I2C controller or touchpad were addressed in:
commit 5b65c2a02966 ("HID: rmi: check sanity of the incoming report")

Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=195949
Signed-off-by: Andrew Duggan <aduggan@synaptics.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Reviewed-by: Nick Dyer <nick@shmanahar.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/rmi4/rmi_f54.c