Re: [PATCH] dmaengine: fsl_raid: don't invoke client callback under desc_lock
From: Vinod Koul
Date: Thu Sep 03 2026 - 13:21:55 EST
On Fri, 17 Jul 2026 22:30:10 -0700, Rosen Penev wrote:
> fsl_re_dequeue() holds re_chan->desc_lock while calling
> fsl_re_desc_done(), which synchronously invokes the DMA client completion
> callback via dmaengine_desc_get_callback_invoke(). If that callback
> submits new work (e.g. fsl_re_tx_submit()), it tries to reacquire the
> same desc_lock and deadlocks on the spinlock.
>
> Collect completed descriptors into a local list under the lock, then
> release the lock and invoke the callbacks before moving the descriptors
> to the ack queue.
>
> [...]
Applied, thanks!
[1/1] dmaengine: fsl_raid: don't invoke client callback under desc_lock
commit: 62c267ce97444f8a381f2bb3cd5d534eb362c540
Best regards,
--
~Vinod