[PATCH 00/10] mei: vsc: Various bug-fixes

Hans de Goede posted 10 patches 3 months, 2 weeks ago
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(-)
[PATCH 00/10] mei: vsc: Various bug-fixes
Posted by Hans de Goede 3 months, 2 weeks ago
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@kernel.org/


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
Re: [PATCH 00/10] mei: vsc: Various bug-fixes
Posted by Sakari Ailus 3 months, 2 weeks ago
Hi Hans,

On Mon, Jun 23, 2025 at 10:50:42AM +0200, Hans de Goede wrote:
> 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].

Thanks for the set.

Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>

-- 
Sakari Ailus