All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] HID: lenovo: two ordering fixes in remove() and tpkbd probe
@ 2026-09-10 15:10 Oleg Keri
  2026-09-10 15:10 ` [PATCH 1/2] HID: lenovo: stop the hardware before the per-model teardown Oleg Keri
  2026-09-10 15:10 ` [PATCH 2/2] HID: lenovo: allocate the trackpoint drvdata before exposing its sysfs attributes Oleg Keri
  0 siblings, 2 replies; 3+ messages in thread
From: Oleg Keri @ 2026-09-10 15:10 UTC (permalink / raw)
  To: Derek J. Clark, Mark Pearson, Jiri Kosina, Benjamin Tissoires,
	Hans de Goede, Bernhard Seibold
  Cc: linux-input, linux-kernel

Two long-standing ordering bugs in hid-lenovo, both pointed out by the
Sashiko review of an unrelated patch of mine [1].  Neither is specific to
any recent change; the first dates from 2020, the second from the original
2012 trackpoint keyboard driver.

Patch 1: lenovo_remove() cancels the tablet keyboards' fn_lock_sync_work
while the hardware is still delivering the events that re-queue it, so a
key press in that window leaves the work pending across the devres free
of its data.  Stop the hardware before the per-model teardown.

Patch 2: lenovo_probe_tpkbd() exposes sysfs attributes before allocating
the drvdata they dereference.  Allocate first.

Compile-tested only: I have neither a ThinkPad 10 Ultrabook Keyboard nor a
ThinkPad USB Keyboard with TrackPoint.  Both changes are pure reorderings
of existing calls.

[1] https://lore.kernel.org/all/20260910064345.9BF1E1F000FF@smtp.kernel.org/

Oleg Keri (2):
  HID: lenovo: stop the hardware before the per-model teardown
  HID: lenovo: allocate the trackpoint drvdata before exposing its sysfs
    attributes

 drivers/hid/hid-lenovo.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

-- 
2.55.0


base-commit: df2908090cda368b01ff43709f51890076c56157

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-09-10 15:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-10 15:10 [PATCH 0/2] HID: lenovo: two ordering fixes in remove() and tpkbd probe Oleg Keri
2026-09-10 15:10 ` [PATCH 1/2] HID: lenovo: stop the hardware before the per-model teardown Oleg Keri
2026-09-10 15:10 ` [PATCH 2/2] HID: lenovo: allocate the trackpoint drvdata before exposing its sysfs attributes Oleg Keri

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.