From 32ac4723e5526c44e5a1f3b1586578c17647f2ef Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 10 Sep 2026 13:28:46 -0700 Subject: [PATCH] dmaengine: fsldma: kill tasklet before removing channel Add tasklet_kill() in fsl_dma_chan_remove() to prevent a race where the tasklet is scheduled by the IRQ handler and runs after the channel has been freed. Assisted-by: opencode:big-pickle Signed-off-by: Rosen Penev Reviewed-by: Frank Li Link: https://patch.msgid.link/20260910202846.48941-1-rosenp@gmail.com Signed-off-by: Vinod Koul --- drivers/dma/fsldma.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c index 6ce0e5668dc2..5eca8ab23564 100644 --- a/drivers/dma/fsldma.c +++ b/drivers/dma/fsldma.c @@ -1207,6 +1207,7 @@ static int fsl_dma_chan_probe(struct fsldma_device *fdev, static void fsl_dma_chan_remove(struct fsldma_chan *chan) { + tasklet_kill(&chan->tasklet); irq_dispose_mapping(chan->irq); list_del(&chan->common.device_node); iounmap(chan->regs);