[PATCH 00/10] mei: vsc: Various bug-fixes
From: Hans de Goede
Date: Mon Jun 23 2025 - 04:51:03 EST
Hi All,
When running a kernel with CONFIG_PROVE_RAW_LOCK_NESTING on any laptop
with an Intel Visual Sensing Controller chip, the vsc-tp code will
trigger a lockdep warning.
While investigating this I noticed a bunch of other issues / bugs in
the VSC code, resulting in the first 9 patches of this series, fixing:
- An unnecessary 11 second delay on shutdown / reboot
- Destroying the mutex while the threaded ISR which uses it might still
be running
- Racy use of the event_notify callback
- Dead event_notify callback still being registered after remove()
- Thread ISR waiting for hard ISR to run a second/third time
- The lockdep issue starting all this
- And some cleanups while at it...
Patch 10 is a generic mei debug patch to help catch similar
use-after-free issues as the on I fixed recently [1].
Regards,
Hans
[1] https://lore.kernel.org/linux-media/20250621140052.67912-1-hansg@xxxxxxxxxx/
Hans de Goede (10):
mei: vsc: Drop unused vsc_tp_request_irq() and vsc_tp_free_irq()
mei: vsc: Don't re-init VSC from mei_vsc_hw_reset() on stop
mei: vsc: Don't call vsc_tp_reset() a second time on shutdown
mei: vsc: Use vsc_tp_remove() as shutdown handler
mei: vsc: Destroy mutex after freeing the IRQ
mei: vsc: Event notifier fixes
mei: vsc: Unset the event callback on remove and probe errors
mei: vsc: Run event callback from a workqueue
mei: vsc: Fix "BUG: Invalid wait context" lockdep error
mei: bus: Check for still connected devices in
mei_cl_bus_dev_release()
drivers/misc/mei/bus.c | 6 +++
drivers/misc/mei/platform-vsc.c | 8 ++++
drivers/misc/mei/vsc-tp.c | 80 ++++++++++-----------------------
drivers/misc/mei/vsc-tp.h | 3 --
4 files changed, 38 insertions(+), 59 deletions(-)
--
2.49.0