summarylogtreecommitdiffstats
path: root/0020-HID-input-fix-uclogic-tablets.patch
diff options
context:
space:
mode:
authorBjörn Bidar2022-09-06 03:05:45 +0300
committerBjörn Bidar2022-09-06 15:55:49 +0300
commitdafa8d62d3f6493d66afc5d568273f5a7e7b8924 (patch)
treee41709bc271bbf6671ce34c491a455ff08547e34 /0020-HID-input-fix-uclogic-tablets.patch
parent0c2ed81feac01240fdc5ed571ed3b563ec0dbec2 (diff)
downloadaur-dafa8d62d3f6493d66afc5d568273f5a7e7b8924.tar.gz
Update to 5.19.7.pf3-1
- New upstream release based on 5.19.6 - Add linux-5.19.7 stable patches - Sync kernel config with Arch and Arch32 - Always package objtool, fixes #9. - Remove patch for kernel#211005 as it commited upstream Signed-off-by: Björn Bidar <bjorn.bidar@thaodan.de>
Diffstat (limited to '0020-HID-input-fix-uclogic-tablets.patch')
-rw-r--r--0020-HID-input-fix-uclogic-tablets.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/0020-HID-input-fix-uclogic-tablets.patch b/0020-HID-input-fix-uclogic-tablets.patch
new file mode 100644
index 000000000000..f8a95f4638ca
--- /dev/null
+++ b/0020-HID-input-fix-uclogic-tablets.patch
@@ -0,0 +1,46 @@
+From b61400c4e784065c9783442e8ef096fefa811901 Mon Sep 17 00:00:00 2001
+From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Date: Mon, 22 Aug 2022 08:22:47 +0200
+Subject: [PATCH 20/73] HID: input: fix uclogic tablets
+
+commit 8db8be9cfc89935c97d791c7e6264e710a7e8a56 upstream.
+
+commit 87562fcd1342 ("HID: input: remove the need for HID_QUIRK_INVERT")
+made the assumption that it was the only one handling tablets and thus
+kept an internal state regarding the tool.
+
+Turns out that the uclogic driver has a timer to release the in range
+bit, effectively making hid-input ignoring all in range information
+after the very first one.
+
+Fix that by having a more rationale approach which consists in forwarding
+every event and let the input stack filter out the duplicates.
+
+Reported-by: Stefan Hansson <newbie13xd@gmail.com>
+Fixes: 87562fcd1342 ("HID: input: remove the need for HID_QUIRK_INVERT")
+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>
+---
+ drivers/hid/hid-input.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
+index 48c1c02c69f4..871a185a0f1f 100644
+--- a/drivers/hid/hid-input.c
++++ b/drivers/hid/hid-input.c
+@@ -1532,7 +1532,10 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct
+ * assume ours
+ */
+ if (!report->tool)
+- hid_report_set_tool(report, input, usage->code);
++ report->tool = usage->code;
++
++ /* drivers may have changed the value behind our back, resend it */
++ hid_report_set_tool(report, input, report->tool);
+ } else {
+ hid_report_release_tool(report, input, usage->code);
+ }
+--
+2.37.3
+