All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans de Goede <hansg@kernel.org>
To: Sakari Ailus <sakari.ailus@linux.intel.com>,
	Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>,
	Alexander Usyskin <alexander.usyskin@intel.com>
Cc: Hans de Goede <hansg@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org
Subject: [PATCH 00/10] mei: vsc: Various bug-fixes
Date: Mon, 23 Jun 2025 10:50:42 +0200	[thread overview]
Message-ID: <20250623085052.12347-1-hansg@kernel.org> (raw)

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


             reply	other threads:[~2025-06-23  8:50 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-23  8:50 Hans de Goede [this message]
2025-06-23  8:50 ` [PATCH 01/10] mei: vsc: Drop unused vsc_tp_request_irq() and vsc_tp_free_irq() Hans de Goede
2025-06-24  6:06   ` Usyskin, Alexander
2025-06-24  8:43     ` Hans de Goede
2025-06-23  8:50 ` [PATCH 02/10] mei: vsc: Don't re-init VSC from mei_vsc_hw_reset() on stop Hans de Goede
2025-06-24  7:00   ` Usyskin, Alexander
2025-06-23  8:50 ` [PATCH 03/10] mei: vsc: Don't call vsc_tp_reset() a second time on shutdown Hans de Goede
2025-06-25  7:59   ` Usyskin, Alexander
2025-06-23  8:50 ` [PATCH 04/10] mei: vsc: Use vsc_tp_remove() as shutdown handler Hans de Goede
2025-06-25  8:02   ` Usyskin, Alexander
2025-06-23  8:50 ` [PATCH 05/10] mei: vsc: Destroy mutex after freeing the IRQ Hans de Goede
2025-06-25  8:03   ` Usyskin, Alexander
2025-06-23  8:50 ` [PATCH 06/10] mei: vsc: Event notifier fixes Hans de Goede
2025-06-25  9:12   ` Usyskin, Alexander
2025-06-25  9:23     ` Hans de Goede
2025-06-25  9:26       ` Hans de Goede
2025-06-25  9:36         ` Usyskin, Alexander
2025-06-23  8:50 ` [PATCH 07/10] mei: vsc: Unset the event callback on remove and probe errors Hans de Goede
2025-06-25 10:01   ` Usyskin, Alexander
2025-06-23  8:50 ` [PATCH 08/10] mei: vsc: Run event callback from a workqueue Hans de Goede
2025-06-25 10:07   ` Usyskin, Alexander
2025-06-23  8:50 ` [PATCH 09/10] mei: vsc: Fix "BUG: Invalid wait context" lockdep error Hans de Goede
2025-06-25 10:12   ` Usyskin, Alexander
2025-06-23  8:50 ` [PATCH 10/10] mei: bus: Check for still connected devices in mei_cl_bus_dev_release() Hans de Goede
2025-06-25 10:25   ` Usyskin, Alexander
2025-06-25  9:52 ` [PATCH 00/10] mei: vsc: Various bug-fixes Sakari Ailus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250623085052.12347-1-hansg@kernel.org \
    --to=hansg@kernel.org \
    --cc=alexander.usyskin@intel.com \
    --cc=arnd@arndb.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=stanislaw.gruszka@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.