]> git.ipfire.org Git - thirdparty/linux.git/commit
Input: edt-ft5x06 - ignore contacts with an out-of-range slot id
authorAlexandre Hamamdjian <azkali.limited@gmail.com>
Thu, 23 Jul 2026 13:24:09 +0000 (20:24 +0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 23 Jul 2026 17:41:54 +0000 (10:41 -0700)
commitad1d940efbf13fba516821f3d00fbd34a26e289e
treed12a2fdd390065fce3adce132d3a4722e4b3b017
parentc83e79c0842ed29860648bcce5022ef0ba5001c6
Input: edt-ft5x06 - ignore contacts with an out-of-range slot id

The per-contact slot id is taken from the top nibble of the third
report byte, so it can be any value from 0 to 15. The driver only
allocates max_support_points MT slots (2 to 10 depending on the
variant), so a report that carries an id at or above that count - be it
a genuinely higher-numbered contact or a corrupted byte - is outside the
range the input core was told about.

input_mt_slot() silently ignores an ABS_MT_SLOT beyond num_slots and
leaves the current slot unchanged, so the following
input_mt_report_slot_state()/touchscreen_report_pos() pair is applied to
whichever slot happened to be selected last, reporting the contact at the
wrong position. Skip such entries instead.

Signed-off-by: Alexandre Hamamdjian <azkali.limited@gmail.com>
Link: https://patch.msgid.link/20260723-b4-ft5426-v2-1-cd2bed168051@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/edt-ft5x06.c