aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-uclogic-core.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2019-04-20 13:22:10 +0200
committerBenjamin Tissoires <benjamin.tissoires@redhat.com>2019-04-23 18:02:46 +0200
commit096377525cdb8251e4656085efc988bdf733fb4c (patch)
tree92a71548b73a50894bcac63d1d1b39903122c2bf /drivers/hid/hid-uclogic-core.c
parentHID: logitech-hidpp: remove unused origin_is_hid_core function parameter (diff)
downloadlinux-dev-096377525cdb8251e4656085efc988bdf733fb4c.tar.xz
linux-dev-096377525cdb8251e4656085efc988bdf733fb4c.zip
HID: logitech-hidpp: use RAP instead of FAP to get the protocol version
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>
Diffstat (limited to 'drivers/hid/hid-uclogic-core.c')
0 files changed, 0 insertions, 0 deletions