From 5a27e66d72611c129fa74b46d30f2baad38ee5ab Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 26 Aug 2024 13:46:49 +0200 Subject: [PATCH] 4.19-stable patches added patches: hid-wacom-defer-calculation-of-resolution-until-resolution_code-is-known.patch --- ...ution-until-resolution_code-is-known.patch | 49 +++++++++++++++++++ queue-4.19/series | 1 + 2 files changed, 50 insertions(+) create mode 100644 queue-4.19/hid-wacom-defer-calculation-of-resolution-until-resolution_code-is-known.patch diff --git a/queue-4.19/hid-wacom-defer-calculation-of-resolution-until-resolution_code-is-known.patch b/queue-4.19/hid-wacom-defer-calculation-of-resolution-until-resolution_code-is-known.patch new file mode 100644 index 00000000000..8c36abb958a --- /dev/null +++ b/queue-4.19/hid-wacom-defer-calculation-of-resolution-until-resolution_code-is-known.patch @@ -0,0 +1,49 @@ +From 1b8f9c1fb464968a5b18d3acc1da8c00bad24fad Mon Sep 17 00:00:00 2001 +From: Jason Gerecke +Date: Tue, 30 Jul 2024 08:51:55 -0700 +Subject: HID: wacom: Defer calculation of resolution until resolution_code is known + +From: Jason Gerecke + +commit 1b8f9c1fb464968a5b18d3acc1da8c00bad24fad upstream. + +The Wacom driver maps the HID_DG_TWIST usage to ABS_Z (rather than ABS_RZ) +for historic reasons. When the code to support twist was introduced in +commit 50066a042da5 ("HID: wacom: generic: Add support for height, tilt, +and twist usages"), we were careful to write it in such a way that it had +HID calculate the resolution of the twist axis assuming ABS_RZ instead +(so that we would get correct angular behavior). This was broken with +the introduction of commit 08a46b4190d3 ("HID: wacom: Set a default +resolution for older tablets"), which moved the resolution calculation +to occur *before* the adjustment from ABS_Z to ABS_RZ occurred. + +This commit moves the calculation of resolution after the point that +we are finished setting things up for its proper use. + +Signed-off-by: Jason Gerecke +Fixes: 08a46b4190d3 ("HID: wacom: Set a default resolution for older tablets") +Cc: stable@vger.kernel.org +Signed-off-by: Jiri Kosina +Signed-off-by: Greg Kroah-Hartman +--- + drivers/hid/wacom_wac.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/drivers/hid/wacom_wac.c ++++ b/drivers/hid/wacom_wac.c +@@ -1830,12 +1830,14 @@ 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); ++ int resolution; + + if (equivalent_usage == HID_DG_TWIST) { + resolution_code = ABS_RZ; + } + ++ resolution = hidinput_calc_abs_res(field, resolution_code); ++ + if (equivalent_usage == HID_GD_X) { + fmin += features->offset_left; + fmax -= features->offset_right; diff --git a/queue-4.19/series b/queue-4.19/series index ed60044859f..fdacea538d5 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -62,3 +62,4 @@ drm-msm-use-drm_debug_enabled-to-check-for-debug-cat.patch drm-msm-dpu-don-t-play-tricks-with-debug-macros.patch mmc-mmc_test-fix-null-dereference-on-allocation-fail.patch bluetooth-mgmt-add-error-handling-to-pair_device.patch +hid-wacom-defer-calculation-of-resolution-until-resolution_code-is-known.patch -- 2.47.3