diff options
author | Benjamin Tissoires <benjamin.tissoires@redhat.com> | 2018-09-04 15:31:14 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-09-19 22:41:19 +0200 |
commit | 7bc3f187fd30a4980534dfba01596b9e6c20648f (patch) | |
tree | fa892b3a2f6360bb002ab5b4b09eb151708fee46 /include | |
parent | e114a409eef6072f87a084f80c6597ea9018d4a7 (diff) | |
download | linux-stable-7bc3f187fd30a4980534dfba01596b9e6c20648f.tar.gz linux-stable-7bc3f187fd30a4980534dfba01596b9e6c20648f.tar.bz2 linux-stable-7bc3f187fd30a4980534dfba01596b9e6c20648f.zip |
HID: core: fix grouping by application
commit 0d6c3011409135ea84e2a231b013a22017ff999a upstream.
commit f07b3c1da92d ("HID: generic: create one input report per
application type") was effectively the same as MULTI_INPUT:
hidinput->report was never set, so hidinput_match_application()
always returned null.
Fix that by testing against the real application.
Note that this breaks some old eGalax touchscreens that expect MULTI_INPUT
instead of HID_QUIRK_INPUT_PER_APP. Enable this quirk for backward
compatibility on all non-Win8 touchscreens.
link: https://bugzilla.kernel.org/show_bug.cgi?id=200847
link: https://bugzilla.kernel.org/show_bug.cgi?id=200849
link: https://bugs.archlinux.org/task/59699
link: https://github.com/NixOS/nixpkgs/issues/45165
Cc: stable@vger.kernel.org # v4.18+
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/hid.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/hid.h b/include/linux/hid.h index 773bcb1d4044..5482dd6ae9ef 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h @@ -520,6 +520,7 @@ struct hid_input { const char *name; bool registered; struct list_head reports; /* the list of reports */ + unsigned int application; /* application usage for this input */ }; enum hid_type { |