]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 13 May 2023 07:52:11 +0000 (16:52 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 13 May 2023 07:52:11 +0000 (16:52 +0900)
added patches:
hid-wacom-set-a-default-resolution-for-older-tablets.patch

queue-4.19/hid-wacom-set-a-default-resolution-for-older-tablets.patch [new file with mode: 0644]
queue-4.19/series

diff --git a/queue-4.19/hid-wacom-set-a-default-resolution-for-older-tablets.patch b/queue-4.19/hid-wacom-set-a-default-resolution-for-older-tablets.patch
new file mode 100644 (file)
index 0000000..8be7a97
--- /dev/null
@@ -0,0 +1,48 @@
+From 08a46b4190d345544d04ce4fe2e1844b772b8535 Mon Sep 17 00:00:00 2001
+From: Ping Cheng <pinglinux@gmail.com>
+Date: Sun, 9 Apr 2023 09:42:29 -0700
+Subject: HID: wacom: Set a default resolution for older tablets
+
+From: Ping Cheng <pinglinux@gmail.com>
+
+commit 08a46b4190d345544d04ce4fe2e1844b772b8535 upstream.
+
+Some older tablets may not report physical maximum for X/Y
+coordinates. Set a default to prevent undefined resolution.
+
+Signed-off-by: Ping Cheng <ping.cheng@wacom.com>
+Link: https://lore.kernel.org/r/20230409164229.29777-1-ping.cheng@wacom.com
+Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/hid/wacom_wac.c |   12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+--- a/drivers/hid/wacom_wac.c
++++ b/drivers/hid/wacom_wac.c
+@@ -1791,6 +1791,7 @@ static void wacom_map_usage(struct input
+       int fmax = field->logical_maximum;
+       unsigned int equivalent_usage = wacom_equivalent_usage(usage->hid);
+       int resolution_code = code;
++      int resolution = hidinput_calc_abs_res(field, resolution_code);
+       if (equivalent_usage == HID_DG_TWIST) {
+               resolution_code = ABS_RZ;
+@@ -1813,8 +1814,15 @@ static void wacom_map_usage(struct input
+       switch (type) {
+       case EV_ABS:
+               input_set_abs_params(input, code, fmin, fmax, fuzz, 0);
+-              input_abs_set_res(input, code,
+-                                hidinput_calc_abs_res(field, resolution_code));
++
++              /* older tablet may miss physical usage */
++              if ((code == ABS_X || code == ABS_Y) && !resolution) {
++                      resolution = WACOM_INTUOS_RES;
++                      hid_warn(input,
++                               "Wacom usage (%d) missing resolution \n",
++                               code);
++              }
++              input_abs_set_res(input, code, resolution);
+               break;
+       case EV_KEY:
+               input_set_capability(input, EV_KEY, code);
index 67b22788e38d08e74e06e2bac8ac24265502275f..eeadb92da12832cff610c5b4c8f46887b97cf93e 100644 (file)
@@ -175,3 +175,4 @@ sh-nmi_debug-fix-return-value-of-__setup-handler.patch
 arm-dts-exynos-fix-wm8960-clock-name-in-itop-elite.patch
 arm-dts-s5pv210-correct-mipi-csis-clock-name.patch
 drm-panel-otm8009a-set-backlight-parent-to-panel-device.patch
+hid-wacom-set-a-default-resolution-for-older-tablets.patch