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
..
i2c-hid i2c-hid: properly terminate i2c_hid_dmi_desc_override_table[] array 2019-04-27 09:36:41 +02:00
intel-ish-hid HID: intel-ish: ipc: handle PIMR before ish_wakeup also clear PISR busy_clear bit 2019-04-05 22:33:14 +02:00
usbhid
hid-a4tech.c
hid-accutouch.c
hid-alps.c
hid-apple.c
hid-appleir.c
hid-asus.c
hid-aureal.c
hid-axff.c
hid-belkin.c
hid-betopff.c
hid-cherry.c
hid-chicony.c
hid-cmedia.c
hid-core.c
hid-corsair.c
hid-cougar.c
hid-cp2112.c
hid-cypress.c
hid-debug.c HID: debug: fix race condition with between rdesc_show() and device removal 2019-05-08 07:21:45 +02:00
hid-dr.c
hid-elan.c
hid-elecom.c
hid-elo.c
hid-emsff.c
hid-ezkey.c
hid-gaff.c
hid-gembird.c
hid-generic.c
hid-gfrm.c
hid-google-hammer.c
hid-gt683r.c
hid-gyration.c
hid-holtek-kbd.c
hid-holtek-mouse.c
hid-holtekff.c
hid-hyperv.c Input: hyper-v - fix wakeup from suspend-to-idle 2018-12-21 14:15:12 +01:00
hid-icade.c
hid-ids.h HID: usbhid: Add quirk for Redragon/Dragonrise Seymur 2 2019-04-20 09:16:01 +02:00
hid-input.c HID: input: add mapping for "Toggle Display" key 2019-05-16 19:41:19 +02:00
hid-ite.c HID: ite: Add USB id match for another ITE based keyboard rfkill key quirk 2019-01-13 09:50:56 +01:00
hid-jabra.c
hid-kensington.c
hid-keytouch.c
hid-kye.c
hid-lcpower.c
hid-led.c
hid-lenovo.c HID: lenovo: Add checks to fix of_led_classdev_register 2019-02-12 19:47:19 +01:00
hid-lg.c
hid-lg.h
hid-lg2ff.c
hid-lg3ff.c
hid-lg4ff.c
hid-lg4ff.h
hid-lgff.c
hid-logitech-dj.c
hid-logitech-hidpp.c HID: logitech-hidpp: use RAP instead of FAP to get the protocol version 2019-05-31 06:46:16 -07:00
hid-magicmouse.c
hid-mf.c
hid-microsoft.c
hid-monterey.c
hid-multitouch.c HID: multitouch: Add pointstick support for Cirque Touchpad 2018-12-13 09:16:13 +01:00
hid-nti.c
hid-ntrig.c
hid-ortek.c
hid-penmount.c
hid-petalynx.c
hid-picolcd_backlight.c
hid-picolcd_cir.c
hid-picolcd_core.c
hid-picolcd_debugfs.c
hid-picolcd_fb.c
hid-picolcd_lcd.c
hid-picolcd_leds.c
hid-picolcd.h
hid-pl.c
hid-plantronics.c
hid-primax.c
hid-prodikeys.c
hid-quirks.c HID: quirks: Fix keyboard + touchpad on Lenovo Miix 630 2019-05-08 07:21:47 +02:00
hid-redragon.c
hid-retrode.c
hid-rmi.c
hid-roccat-arvo.c
hid-roccat-arvo.h
hid-roccat-common.c
hid-roccat-common.h
hid-roccat-isku.c
hid-roccat-isku.h
hid-roccat-kone.c
hid-roccat-kone.h
hid-roccat-koneplus.c
hid-roccat-koneplus.h
hid-roccat-konepure.c
hid-roccat-kovaplus.c
hid-roccat-kovaplus.h
hid-roccat-lua.c
hid-roccat-lua.h
hid-roccat-pyra.c
hid-roccat-pyra.h
hid-roccat-ryos.c
hid-roccat-savu.c
hid-roccat-savu.h
hid-roccat.c
hid-saitek.c
hid-samsung.c
hid-sensor-custom.c
hid-sensor-hub.c
hid-sjoy.c
hid-sony.c
hid-speedlink.c
hid-steam.c
hid-steelseries.c
hid-sunplus.c
hid-tivo.c
hid-tmff.c
hid-topseed.c
hid-twinhan.c
hid-uclogic.c
hid-udraw-ps3.c
hid-waltop.c
hid-wiimote-core.c
hid-wiimote-debug.c
hid-wiimote-modules.c
hid-wiimote.h
hid-xinmo.c
hid-zpff.c
hid-zydacron.c
hidraw.c
Kconfig
Makefile
uhid.c Revert "HID: uhid: use strlcpy() instead of strncpy()" 2018-12-13 09:16:13 +01:00
wacom_sys.c
wacom_wac.c
wacom_wac.h
wacom.h