Commit 4728e3fe authored by Daniel Scally's avatar Daniel Scally Committed by Vinod Koul

dmaengine: pl330: Clear callback_result for re-used descs

The pl330 driver re-uses DMA descriptors rather than reallocating
them each time. At present, upon re-use the .callback member is
cleared, but .callback result is not. This causes problems where a
consuming driver sets the .callback_result for some submissions but
not for others, as eventually the function is invoked erronously.

Clear .callback_result along with .callback
Signed-off-by: default avatarDaniel Scally <dan.scally@ideasonboard.com>
Link: https://lore.kernel.org/r/20240118112959.1027471-1-dan.scally@ideasonboard.comSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 6613476e
...@@ -2588,6 +2588,7 @@ static struct dma_pl330_desc *pluck_desc(struct list_head *pool, ...@@ -2588,6 +2588,7 @@ static struct dma_pl330_desc *pluck_desc(struct list_head *pool,
desc->status = PREP; desc->status = PREP;
desc->txd.callback = NULL; desc->txd.callback = NULL;
desc->txd.callback_result = NULL;
} }
spin_unlock_irqrestore(lock, flags); spin_unlock_irqrestore(lock, flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment