summaryrefslogtreecommitdiffstats
path: root/MAINTAINERS
diff options
context:
space:
mode:
authorJason Gerecke <killertofu@gmail.com>2020-04-08 07:58:37 -0700
committerJiri Kosina <jkosina@suse.cz>2020-04-16 21:38:47 +0200
commitb43f977dd281945960c26b3ef67bba0fa07d39d9 (patch)
treeb61aa13528b282308a2f497ee80f0ca37679cdc3 /MAINTAINERS
parent185af3e775b693f773d9a4b5a8c3cda69fc8ca0f (diff)
downloadlinux-b43f977dd281945960c26b3ef67bba0fa07d39d9.tar.gz
linux-b43f977dd281945960c26b3ef67bba0fa07d39d9.tar.bz2
linux-b43f977dd281945960c26b3ef67bba0fa07d39d9.zip
Revert "HID: wacom: generic: read the number of expected touches on a per collection basis"
This reverts commit 15893fa40109f5e7c67eeb8da62267d0fdf0be9d. The referenced commit broke pen and touch input for a variety of devices such as the Cintiq Pro 32. Affected devices may appear to work normally for a short amount of time, but eventually loose track of actual touch state and can leave touch arbitration enabled which prevents the pen from working. The commit is not itself required for any currently-available Bluetooth device, and so we revert it to correct the behavior of broken devices. This breakage occurs due to a mismatch between the order of collections and the order of usages on some devices. This commit tries to read the contact count before processing events, but will fail if the contact count does not occur prior to the first logical finger collection. This is the case for devices like the Cintiq Pro 32 which place the contact count at the very end of the report. Without the contact count set, touches will only be partially processed. The `wacom_wac_finger_slot` function will not open any slots since the number of contacts seen is greater than the expectation of 0, but we will still end up calling `input_mt_sync_frame` for each finger anyway. This can cause problems for userspace separate from the issue currently taking place in the kernel. Only once all of the individual finger collections have been processed do we finally get to the enclosing collection which contains the contact count. The value ends up being used for the *next* report, however. This delayed use of the contact count can cause the driver to loose track of the actual touch state and believe that there are contacts down when there aren't. This leaves touch arbitration enabled and prevents the pen from working. It can also cause userspace to incorrectly treat single- finger input as gestures. Link: https://github.com/linuxwacom/input-wacom/issues/146 Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com> Reviewed-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com> Fixes: 15893fa40109 ("HID: wacom: generic: read the number of expected touches on a per collection basis") Cc: stable@vger.kernel.org # 5.3+ Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'MAINTAINERS')
0 files changed, 0 insertions, 0 deletions