From 4728e3fe2ff1b02b84ddab876d8af5eeb74eee18 Mon Sep 17 00:00:00 2001 From: Daniel Scally Date: Thu, 18 Jan 2024 11:29:59 +0000 Subject: 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: Daniel Scally Link: https://lore.kernel.org/r/20240118112959.1027471-1-dan.scally@ideasonboard.com Signed-off-by: Vinod Koul --- drivers/dma/pl330.c | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers/dma') diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c index c29744bfdf2c..5f6d7f1e095f 100644 --- a/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c @@ -2588,6 +2588,7 @@ static struct dma_pl330_desc *pluck_desc(struct list_head *pool, desc->status = PREP; desc->txd.callback = NULL; + desc->txd.callback_result = NULL; } spin_unlock_irqrestore(lock, flags); -- cgit