Re: [PATCH v2 60/64] dmaengine: bam-dma: use dma_chan_kill_bh
Bartosz Golaszewski <[email protected]> Tue, 28 Jul 2026 01:38:30 -0700
| Newsgroups | org.kernel.vger.dmaengine,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAMRc=MdDEQ2JcQtJ0AwHq0atv9SJ1Y47W6Djzs_JGVoYkk8zFQ@mail.gmail.com> |
On Mon, 27 Jul 2026 22:39:22 +0200, Allen Pais <[email protected]> said: > virt-dma now dispatches completion callbacks through per-channel BH > work instead of its tasklet. Cancel that work during teardown before > channel storage is released. > > Signed-off-by: Allen Pais <[email protected]> > --- > drivers/dma/qcom/bam_dma.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c > index 1bb26af0405f..74bc2fe445b3 100644 > --- a/drivers/dma/qcom/bam_dma.c > +++ b/drivers/dma/qcom/bam_dma.c > @@ -1387,7 +1387,7 @@ static int bam_dma_probe(struct platform_device *pdev) > dma_async_device_unregister(&bdev->common); > err_bam_channel_exit: > for (i = 0; i < bdev->num_channels; i++) > - tasklet_kill(&bdev->channels[i].vc.task); > + dma_chan_kill_bh(&bdev->channels[i].vc.chan); > err_tasklet_kill: > tasklet_kill(&bdev->task); > err_disable_clk: > @@ -1413,7 +1413,7 @@ static void bam_dma_remove(struct platform_device *pdev) > > for (i = 0; i < bdev->num_channels; i++) { > bam_dma_terminate_all(&bdev->channels[i].vc.chan); > - tasklet_kill(&bdev->channels[i].vc.task); > + dma_chan_kill_bh(&bdev->channels[i].vc.chan); > > if (!bdev->channels[i].fifo_virt) > continue; > -- > 2.43.0 > > Acked-by: Bartosz Golaszewski <[email protected]>