[PATCH v10 0/2] HID: multitouch: fix haptic lifetime on delayed input release
From: Aldo Ariel Panzardo
Date: Sat Oct 17 2026 - 10:39:43 EST
v9 review found that a non-multitouch touchpad report can precede
the actual multitouch input on devices using HID_QUIRK_MULTI_INPUT.
The first report could take the only FF instance and become populated
solely because FF was added. The multitouch input would then lack FF.
Patch 2 now waits until mt_input_configured() has identified a
multitouch touchpad report before initializing haptics. Only the input
that receives FF gets INPUT_PROP_PRESSUREPAD from the haptic setup.
Patch 2 also uses scope cleanup for the cloned state and all of its
subresources, removing the mixture of __free() and goto labels.
Patch 1 is unchanged from v9.
Tested on x86_64 with W=1: built-in HID objects, a minimal vmlinux
and modules build, and hid-multitouch.o with HID_HAPTIC=n. QEMU/KVM
with KASAN ran 10 virtual UHID haptic cycles and 10 multi-input cycles
with a non-multitouch report before the multitouch report. The tests
checked FF_HAPTIC, effect upload and playback, HID removal with an
open evdev fd, and final release. No KASAN report was emitted.
Physical hardware was not tested.
Base: 58161ead29e50d70a317ea26b472e0c7508e69da
v9: https://lore.kernel.org/linux-input/20261017140332.1480375-1-qwe.aldo@xxxxxxxxx/
Aldo Ariel Panzardo (2):
HID: haptic: make FF creation the last fallible init step
HID: multitouch: give FF core ownership of haptic state
drivers/hid/hid-haptic.c | 161 +++++++++++++++++------------------
drivers/hid/hid-haptic.h | 6 +-
drivers/hid/hid-multitouch.c | 36 ++++++--
3 files changed, 107 insertions(+), 96 deletions(-)
--
2.53.0