mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
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 <rosenp@gmail.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Link: https://patch.msgid.link/20260910202846.48941-1-rosenp@gmail.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
eb18901d48
commit
32ac4723e5
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user