Files
linux/drivers/hid
Hans de Goede 12e7faac49 HID: logitech-hidpp: use RAP instead of FAP to get the protocol version
[ Upstream commit 096377525c ]

According to the logitech_hidpp_2.0_specification_draft_2012-06-04.pdf doc:
https://lekensteyn.nl/files/logitech/logitech_hidpp_2.0_specification_draft_2012-06-04.pdf

We should use a register-access-protocol request using the short input /
output report ids. This is necessary because 27MHz HID++ receivers have
a max-packetsize on their HIP++ endpoint of 8, so they cannot support
long reports. Using a feature-access-protocol request (which is always
long or very-long) with these will cause a timeout error, followed by
the hidpp driver treating the device as not being HID++ capable.

This commit fixes this by switching to using a rap request to get the
protocol version.

Besides being tested with a (046d:c517) 27MHz receiver with various
27MHz keyboards and mice, this has also been tested to not cause
regressions on a non-unifying dual-HID++ nano receiver (046d:c534) with
k270 and m185 HID++-2.0 devices connected and on a unifying/dj receiver
(046d:c52b) with a HID++-2.0 Logitech Rechargeable Touchpad T650.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-05-31 06:46:16 -07:00
..
2015-10-21 13:15:53 +02:00
2013-01-03 10:27:31 +01:00
2014-08-21 10:43:28 -05:00
2017-11-24 14:40:23 +01:00
2013-01-03 10:27:31 +01:00
2015-12-28 13:41:44 +01:00
2013-04-24 16:32:27 +02:00
2013-01-03 10:27:31 +01:00
2015-12-28 13:41:44 +01:00
2013-01-03 10:27:31 +01:00
2015-12-28 13:41:51 +01:00
2015-12-28 13:41:51 +01:00
2015-12-28 13:41:51 +01:00
2015-12-28 13:41:51 +01:00
2015-12-28 13:41:51 +01:00
2015-12-28 13:41:51 +01:00
2015-12-28 13:41:51 +01:00
2013-01-03 10:27:31 +01:00
2015-05-07 10:47:53 +02:00
2015-12-28 13:41:44 +01:00
2014-08-21 10:43:28 -05:00
2013-01-03 10:27:31 +01:00
2013-01-03 10:27:31 +01:00