Nicolas Saenz Julienne
1410277e19
HID: core: move Usage Page concatenation to Main item
...
[ Upstream commit 58e75155009cc800005629955d3482f36a1e0eec ]
As seen on some USB wireless keyboards manufactured by Primax, the HID
parser was using some assumptions that are not always true. In this case
it's s the fact that, inside the scope of a main item, an Usage Page
will always precede an Usage.
The spec is not pretty clear as 6.2.2.7 states "Any usage that follows
is interpreted as a Usage ID and concatenated with the Usage Page".
While 6.2.2.8 states "When the parser encounters a main item it
concatenates the last declared Usage Page with a Usage to form a
complete usage value." Being somewhat contradictory it was decided to
match Window's implementation, which follows 6.2.2.8.
In summary, the patch moves the Usage Page concatenation from the local
item parsing function to the main item parsing function.
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Terry Junge <terry.junge@poly.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-05-31 06:48:29 -07:00
..
i2c-hid
i2c-hid: properly terminate i2c_hid_dmi_desc_override_table[] array
2019-04-27 09:34:47 +02:00
intel-ish-hid
HID: intel-ish: ipc: handle PIMR before ish_wakeup also clear PISR busy_clear bit
2019-04-05 22:29:14 +02:00
usbhid
HID: hiddev: fix potential Spectre v1
2018-11-13 11:16:56 -08:00
hid-a4tech.c
hid-alps.c
Merge branches 'for-4.8/upstream-fixes', 'for-4.9/alps', 'for-4.9/hid-input', 'for-4.9/intel-ish', 'for-4.9/kye-uclogic-waltop-fixes', 'for-4.9/logitech', 'for-4.9/sony', 'for-4.9/upstream' and 'for-4.9/wacom' into for-linus
2016-10-07 09:59:48 +02:00
hid-apple.c
HID: add support for Apple Magic Keyboards
2018-10-10 08:53:20 +02:00
hid-appleir.c
HID: hid-input: allow input_configured callback return errors
2015-11-05 09:51:50 -08:00
hid-asus.c
HID: asus: add support for VivoBook E200HA
2016-04-04 09:59:21 +02:00
hid-aureal.c
HID: fix some indenting issues
2015-10-21 13:15:53 +02:00
hid-axff.c
hid-belkin.c
hid-betopff.c
HID: betop: add drivers/hid/hid-betopff.c
2014-12-22 15:00:25 +01:00
hid-cherry.c
HID: fix a couple of off-by-ones
2014-08-21 10:43:28 -05:00
hid-chicony.c
HID: chicony: Add support for another ASUS Zen AiO keyboard
2017-12-14 09:28:18 +01:00
hid-cmedia.c
HID: Support for CMedia CM6533 HID audio jack controls
2016-03-02 10:31:36 +01:00
hid-core.c
HID: core: move Usage Page concatenation to Main item
2019-05-31 06:48:29 -07:00
hid-corsair.c
HID: corsair: Add driver Scimitar Pro RGB gaming mouse 1b1c:1b3e support to hid-corsair
2017-12-25 14:23:37 +01:00
hid-cp2112.c
HID: cp2112: fix broken gpio_direction_input callback
2017-12-20 10:07:26 +01:00
hid-cypress.c
HID: hid-cypress: validate length of report
2017-01-15 13:42:56 +01:00
hid-debug.c
HID: debug: fix race condition with between rdesc_show() and device removal
2019-05-08 07:19:08 +02:00
hid-dr.c
Revert "HID: dragonrise: fix HID Descriptor for 0x0006 PID"
2016-10-10 10:52:01 +02:00
hid-elecom.c
HID: fix some indenting issues
2015-10-21 13:15:53 +02:00
hid-elo.c
HID: elo: clear BTN_LEFT mapping
2018-03-22 09:17:53 +01:00
hid-emsff.c
hid-ezkey.c
hid-gaff.c
hid-gembird.c
HID: gembird: add new driver to fix Gembird JPD-DualForce 2
2015-08-18 15:03:43 +02:00
hid-generic.c
hid-gfrm.c
HID: hid-gfrm: avoid warning for input_configured API change
2015-11-05 10:15:35 -08:00
hid-gt683r.c
HID: use to_hid_device()
2015-12-28 13:41:44 +01:00
hid-gyration.c
hid-holtek-kbd.c
hid-holtek-mouse.c
HID: Add Holtek USB ID 04d9:a0c2 ETEKCITY Scroll
2014-09-08 09:48:56 +02:00
hid-holtekff.c
hid-hyperv.c
HID: hyperv: match wait_for_completion_timeout return type
2015-01-26 14:25:41 +01:00
hid-icade.c
hid-ids.h
HID: input: Ignore battery reported by Symbol DS4308
2018-12-13 09:20:25 +01:00
hid-input.c
HID: input: add mapping for "Toggle Display" key
2019-05-16 19:43:41 +02:00
hid-kensington.c
hid-keytouch.c
hid-kye.c
HID: kye: Fix MousePen i608X v2 report descriptor
2016-09-19 14:32:22 +02:00
hid-lcpower.c
hid-led.c
HID: hid-led: fix issue with transfer buffer not being dma capable
2016-10-10 10:47:03 +02:00
hid-lenovo.c
HID: lenovo: Add checks to fix of_led_classdev_register
2019-02-12 19:44:59 +01:00
hid-lg.c
HID: hid-lg: Fix immediate disconnection of Logitech Rumblepad 2
2017-02-09 08:08:29 +01:00
hid-lg.h
HID: hid-lg4ff: Introduce a module parameter to disable automatic switch of compatibility mode
2015-02-18 21:14:54 +01:00
hid-lg2ff.c
hid-lg3ff.c
hid-lg4ff.c
HID: hid-logitech: Improve Wingman Formula Force GP support
2016-09-26 15:39:56 +02:00
hid-lg4ff.h
HID: hid-logitech: Add combined pedal support Logitech wheels
2016-09-26 15:39:54 +02:00
hid-lgff.c
hid-logitech-dj.c
HID: logitech-dj: check report length
2014-12-17 08:50:12 +01:00
hid-logitech-hidpp.c
HID: logitech-hidpp: use RAP instead of FAP to get the protocol version
2019-05-31 06:48:18 -07:00
hid-magicmouse.c
HID: magicmouse: make transfer buffers DMA capable
2016-11-23 17:43:25 +01:00
hid-microsoft.c
HID: multitouch: enable the Surface 3 Type Cover to report multitouch data
2017-04-12 12:41:16 +02:00
hid-monterey.c
HID: fix a couple of off-by-ones
2014-08-21 10:43:28 -05:00
hid-multitouch.c
HID: Fix hid_report_len usage
2018-04-24 09:34:11 +02:00
hid-ntrig.c
HID: hid-ntrig: add error handling for sysfs_create_group
2018-10-03 17:01:47 -07:00
hid-ortek.c
hid-penmount.c
HID: penmount: report only one button for PenMount 6000 USB touchscreen controller
2016-03-10 17:17:26 +01:00
hid-petalynx.c
HID: fix a couple of off-by-ones
2014-08-21 10:43:28 -05:00
hid-picolcd.h
hid-picolcd_backlight.c
HID: picoLCD: Deletion of unnecessary checks before three function calls
2015-06-29 14:51:12 +02:00
hid-picolcd_cir.c
HID: picoLCD: Deletion of unnecessary checks before three function calls
2015-06-29 14:51:12 +02:00
hid-picolcd_core.c
HID: picolcd: be more verbose when reporting report size error
2014-08-27 23:27:10 +02:00
hid-picolcd_debugfs.c
HID: picolcd: remove unnecessary NULL test before debugfs_remove
2014-06-30 09:54:22 +02:00
hid-picolcd_fb.c
drivers/hid/hid-picolcd_fb: avoid world-writable sysfs files.
2014-05-14 10:53:56 +09:30
hid-picolcd_lcd.c
HID: picoLCD: Deletion of unnecessary checks before three function calls
2015-06-29 14:51:12 +02:00
hid-picolcd_leds.c
HID: use to_hid_device()
2015-12-28 13:41:44 +01:00
hid-pl.c
hid-plantronics.c
HID: hid-plantronics: Re-resend Update to map button for PTT products
2018-08-03 07:55:21 +02:00
hid-primax.c
hid-prodikeys.c
HID: use to_hid_device()
2015-12-28 13:41:44 +01:00
hid-rmi.c
HID: Fix hid_report_len usage
2018-04-24 09:34:11 +02:00
hid-roccat-arvo.c
HID: use kobj_to_dev()
2015-12-28 13:41:51 +01:00
hid-roccat-arvo.h
hid-roccat-common.c
HID: use kobj_to_dev()
2015-12-28 13:41:51 +01:00
hid-roccat-common.h
hid-roccat-isku.c
HID: use kobj_to_dev()
2015-12-28 13:41:51 +01:00
hid-roccat-isku.h
hid-roccat-kone.c
HID: use kobj_to_dev()
2015-12-28 13:41:51 +01:00
hid-roccat-kone.h
hid-roccat-koneplus.c
HID: use kobj_to_dev()
2015-12-28 13:41:51 +01:00
hid-roccat-koneplus.h
hid-roccat-konepure.c
hid-roccat-kovaplus.c
HID: roccat: prevent an out of bounds read in kovaplus_profile_activated()
2018-05-30 07:50:21 +02:00
hid-roccat-kovaplus.h
hid-roccat-lua.c
HID: use kobj_to_dev()
2015-12-28 13:41:51 +01:00
hid-roccat-lua.h
hid-roccat-pyra.c
HID: use kobj_to_dev()
2015-12-28 13:41:51 +01:00
hid-roccat-pyra.h
hid-roccat-ryos.c
hid-roccat-savu.c
hid-roccat-savu.h
hid-roccat.c
HID: roccat: silence an uninitialized variable warning
2016-04-04 09:49:12 +02:00
hid-saitek.c
HID: hid-saitek: Add device ID for RAT 7 Contagion
2018-10-10 08:53:20 +02:00
hid-samsung.c
hid-sensor-custom.c
HID: sensor: fix attributes in HID sensor interface
2016-11-05 16:56:09 +01:00
hid-sensor-hub.c
HID: sensor-hub: add quirk for Microchip MM7150
2017-04-12 12:41:16 +02:00
hid-sjoy.c
HID: sjoy: support Super Joy Box 4
2015-05-07 10:47:53 +02:00
hid-sony.c
HID: sony: Support DS4 dongle
2018-09-29 03:07:35 -07:00
hid-speedlink.c
hid-steelseries.c
HID: use to_hid_device()
2015-12-28 13:41:44 +01:00
hid-sunplus.c
HID: fix a couple of off-by-ones
2014-08-21 10:43:28 -05:00
hid-tivo.c
HID: tivo: enable all buttons on the TiVo Slide Pro remote
2015-03-15 10:04:27 -04:00
hid-tmff.c
hid-topseed.c
hid-twinhan.c
hid-uclogic.c
HID: uclogic: Add support for UC-Logic TWHA60 v3
2016-09-19 14:32:24 +02:00
hid-waltop.c
HID: Remove broken links to tablet descriptions
2016-09-19 14:32:21 +02:00
hid-wiimote-core.c
hid-wiimote-debug.c
hid-wiimote-modules.c
HID: wiimote: Fix wiimote mp scale linearization
2016-03-18 17:31:38 +01:00
hid-wiimote.h
HID: use to_hid_device()
2015-12-28 13:41:44 +01:00
hid-xinmo.c
HID: xinmo: fix for out of range for THT 2P arcade controller.
2017-12-25 14:23:40 +01:00
hid-zpff.c
hid-zydacron.c
hidraw.c
HID: hidraw: Fix crash on HIDIOCGFEATURE with a destroyed device
2018-04-24 09:34:16 +02:00
Kconfig
HID: corsair: Add driver Scimitar Pro RGB gaming mouse 1b1c:1b3e support to hid-corsair
2017-12-25 14:23:37 +01:00
Makefile
HID: intel_ish-hid: ISH Transport layer
2016-08-17 11:13:07 +02:00
uhid.c
HID: uhid: forbid UHID_CREATE under KERNEL_DS or elevated privileges
2018-11-27 16:09:42 +01:00
wacom.h
HID: wacom: power_supply: provide the actual model_name
2016-08-05 13:39:23 +02:00
wacom_sys.c
HID: Fix hid_report_len usage
2018-04-24 09:34:11 +02:00
wacom_wac.c
HID: wacom: Correct touch maximum XY of 2nd-gen Intuos
2018-08-24 13:12:35 +02:00
wacom_wac.h
Merge branches 'for-4.8/upstream-fixes', 'for-4.9/alps', 'for-4.9/hid-input', 'for-4.9/intel-ish', 'for-4.9/kye-uclogic-waltop-fixes', 'for-4.9/logitech', 'for-4.9/sony', 'for-4.9/upstream' and 'for-4.9/wacom' into for-linus
2016-10-07 09:59:48 +02:00