On Thu, 6 Mar 2014, Vinod Koul wrote: > As discussed in [1] the tasklet_disable is not a proper function for teardown. > The driver also uses correct method of tasklet_kill. So remove tasklet_disable > > [1]: http://lwn.net/Articles/588457/ > > Reported-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> > --- > drivers/dma/pch_dma.c | 1 - > 1 files changed, 0 insertions(+), 1 deletions(-) > > diff --git a/drivers/dma/pch_dma.c b/drivers/dma/pch_dma.c > index 61fdc54..fcba40b 100644 > --- a/drivers/dma/pch_dma.c > +++ b/drivers/dma/pch_dma.c > @@ -968,7 +968,6 @@ static void pch_dma_remove(struct pci_dev *pdev) > device_node) { > pd_chan = to_pd_chan(chan); > > - tasklet_disable(&pd_chan->tasklet); > tasklet_kill(&pd_chan->tasklet); > } How is ensured, that the interrupt is disabled and the last interrupt has completed before you call tasklet_kill()? Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html