linux/drivers
Nicolas Saenz Julienne 58e7515500 HID: core: move Usage Page concatenation to Main item
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>
2019-04-02 16:09:35 +02:00
..
accessibility
acpi drm next pull request for 5.1 2019-03-08 08:23:15 -08:00
amba
android binder: reduce mmap_sem write-side lock 2019-02-19 14:50:11 +01:00
ata libata: Add NOLPM quirk for SAMSUNG MZ7TE512HMHP-000L1 SSD 2019-02-06 12:47:09 -07:00
atm
auxdisplay auxdisplay: ht16k33: fix potential user-after-free on module unload 2019-02-15 19:48:39 +01:00
base USB/PHY patches for 5.1-rc1 2019-03-06 16:48:27 -08:00
bcma
block lib/lzo: separate lzo-rle from lzo 2019-03-07 18:32:03 -08:00
bluetooth Bluetooth: mediatek: add support for MediaTek MT7663U and MT7668U UART devices 2019-03-02 19:51:23 +01:00
bus ARM: SoC driver updates for 5.1 2019-03-06 09:41:12 -08:00
cdrom
char Char/Misc driver patches for 5.1-rc1 2019-03-06 14:18:59 -08:00
clk ARM: SoC driver updates for 5.1 2019-03-06 09:41:12 -08:00
clocksource ARM: New SoC family support 2019-03-06 10:15:42 -08:00
connector
cpufreq Power management updates for 5.1-rc1 2019-03-06 12:59:46 -08:00
cpuidle
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-03-05 09:09:55 -08:00
dax
dca
devfreq
dio
dma mm: replace all open encodings for NUMA_NO_NODE 2019-03-05 21:07:14 -08:00
dma-buf
edac
eisa
extcon extcon: ptn5150: Fix return value check in ptn5150_i2c_probe() 2019-02-11 17:21:38 +09:00
firewire
firmware Driver core patches for 5.1-rc1 2019-03-06 14:52:48 -08:00
fmc
fpga Merge 5.0-rc6 into char-misc-next 2019-02-11 09:05:58 +01:00
fsi
gnss gnss: add driver for mediatek receivers 2019-02-15 16:54:38 +01:00
gpio sound updates for 5.1 2019-03-06 14:10:46 -08:00
gpu drm next pull request for 5.1 2019-03-08 08:23:15 -08:00
hid HID: core: move Usage Page concatenation to Main item 2019-04-02 16:09:35 +02:00
hsi
hv Char/Misc driver patches for 5.1-rc1 2019-03-06 14:18:59 -08:00
hwmon hwmon: (ad7418) Add device tree probing 2019-02-25 09:06:00 -08:00
hwspinlock
hwtracing Char/Misc driver patches for 5.1-rc1 2019-03-06 14:18:59 -08:00
i2c i2c: bcm2835: Clear current buffer pointers and counts after a transfer 2019-02-15 09:45:05 +01:00
i3c - Add a /* fall-through */ comment in the dw-i3c-master driver 2019-03-04 19:05:02 -08:00
ide
idle intel_idle: add support for Jacobsville 2019-02-15 10:49:14 +01:00
iio Staging/IIO patches for 5.1-rc1 2019-03-06 16:29:27 -08:00
infiniband mm: replace all open encodings for NUMA_NO_NODE 2019-03-05 21:07:14 -08:00
input ARM: SoC: late updates for linux-5.1 2019-03-06 10:22:26 -08:00
interconnect
iommu Driver core patches for 5.1-rc1 2019-03-06 14:52:48 -08:00
ipack
irqchip ARM: SoC: late updates for linux-5.1 2019-03-06 10:22:26 -08:00
isdn isdn: mISDN: Fix potential NULL pointer dereference of kzalloc 2019-03-04 10:54:48 -08:00
leds LED updates for 5.1-rc1 2019-03-04 19:33:04 -08:00
lightnvm
macintosh
mailbox mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush timeout issue 2019-02-18 10:40:58 -06:00
mcb
md for-linus-20190215 2019-02-15 09:12:28 -08:00
media ASoC: Updates for v5.1 2019-02-08 14:20:32 +01:00
memory
memstick
message
mfd ARM: SoC driver updates for 5.1 2019-03-06 09:41:12 -08:00
misc powerpc updates for 5.1 2019-03-07 12:56:26 -08:00
mmc mmc:fix a bug when max_discard is 0 2019-03-01 09:50:10 +01:00
mtd spi: Updates for v5.1 2019-03-04 19:23:56 -08:00
mux
net powerpc updates for 5.1 2019-03-07 12:56:26 -08:00
nfc
ntb
nubus
nvdimm Merge 5.0-rc6 into driver-core-next 2019-02-11 09:09:02 +01:00
nvme Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-03-05 12:21:47 -08:00
nvmem Char/Misc driver patches for 5.1-rc1 2019-03-06 14:18:59 -08:00
of
opp Power management updates for 5.1-rc1 2019-03-06 12:59:46 -08:00
oprofile
parisc parisc: Use F_EXTEND() macro in iosapic code 2019-02-21 20:37:12 +01:00
parport parport: daisy: use new parport device model 2019-02-13 19:45:56 +01:00
pci Driver core patches for 5.1-rc1 2019-03-06 14:52:48 -08:00
pcmcia
perf perf/aux: Make perf_event accessible to setup_aux() 2019-02-08 12:27:36 +01:00
phy drm next pull request for 5.1 2019-03-08 08:23:15 -08:00
pinctrl pinctrl: meson: meson8b: fix the sdxc_a data 1..3 pins 2019-02-17 22:24:32 +01:00
platform USB/PHY patches for 5.1-rc1 2019-03-06 16:48:27 -08:00
pnp ACPI/ACPICA: Trivial: fix spelling mistakes and fix whitespace formatting 2019-02-24 21:12:01 +01:00
power
powercap powercap/intel_rapl: add Ice Lake mobile 2019-02-18 11:31:39 +01:00
pps
ps3
ptp Merge branch 'timers-2038-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-03-05 14:08:26 -08:00
pwm
rapidio rapidio/mport_cdev: mark expected switch fall-through 2019-03-07 18:32:02 -08:00
ras
regulator regulator: mc13xxx: Constify regulator_ops variables 2019-03-04 00:01:08 +00:00
remoteproc
reset Reset controller changes for v5.1 2019-02-15 17:21:32 +01:00
rpmsg
rtc
s390 s390 updates for the 5.1 merge window 2019-03-05 11:13:10 -08:00
sbus
scsi Char/Misc driver patches for 5.1-rc1 2019-03-06 14:18:59 -08:00
sfi
sh
siox
slimbus
sn
soc ARM: SoC driver updates for 5.1 2019-03-06 09:41:12 -08:00
soundwire
spi Merge branch 'spi-5.1' into spi-next 2019-03-04 15:32:51 +00:00
spmi
ssb
staging drm next pull request for 5.1 2019-03-08 08:23:15 -08:00
target
tc
tee ARM: SoC driver updates for 5.1 2019-03-06 09:41:12 -08:00
thermal Merge back earlier cpufreq material for v5.1. 2019-02-24 21:18:05 +01:00
thunderbolt
tty audit/stable-5.1 PR 20190305 2019-03-07 12:20:11 -08:00
uio
usb USB/PHY patches for 5.1-rc1 2019-03-06 16:48:27 -08:00
uwb
vfio powerpc updates for 5.1 2019-03-07 12:56:26 -08:00
vhost vhost: correctly check the return value of translate_desc() in log_used() 2019-02-19 13:14:45 -08:00
video
virt virt: vbox: Mark expected switch fall-through 2019-02-27 16:00:20 +01:00
virtio virtio: drop internal struct from UAPI 2019-02-05 15:29:48 -05:00
visorbus
vlynq
vme
w1
watchdog This pull request contains Broadcom ARM/ARM64/MIPS based SoCs changes 2019-02-15 18:01:17 +01:00
xen xen/balloon: mark inflated pages PG_offline 2019-03-05 21:07:14 -08:00
zorro
Kconfig
Makefile