Re: [PATCH] ASoC: mchp-spdiftx: Fix a deadlock with the interrupt handler
From: Mark Brown
Date: Wed Sep 23 2026 - 09:38:09 EST
On Wed, Sep 23, 2026 at 04:44:01PM +0800, Ginger Li wrote:
> mchp_spdiftx_interrupt() is a hardirq handler and takes ctrl->lock to
> serialize the user data and channel status updates, while
> mchp_spdiftx_trigger() takes the same lock with spin_lock() from process
> context.
> Interrupts stay enabled while the lock is held in mchp_spdiftx_trigger(), so
> if an SPDIFTX interrupt is delivered on the CPU that is inside that critical
> section, the hardirq handler spins on a lock that the interrupted code is
> holding and can never release.
Are you sure, interrupts should be disabled during trigger...
Attachment:
signature.asc
Description: PGP signature