Re: [PATCH 1/2] dmaengine: at_hdmac: use tasklet_kill in teardown

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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/at_hdmac.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c
> index e2c04dc..c13a3bb 100644
> --- a/drivers/dma/at_hdmac.c
> +++ b/drivers/dma/at_hdmac.c
> @@ -1569,7 +1569,6 @@ static int at_dma_remove(struct platform_device *pdev)
>  
>  		/* Disable interrupts */
>  		atc_disable_chan_irq(atdma, chan->chan_id);
> -		tasklet_disable(&atchan->tasklet);
>  
>  		tasklet_kill(&atchan->tasklet);
>  		list_del(&chan->device_node);

So you disable the irq at the device level, but what makes sure that
the last interrupt on that line has completed and no further
scheduling of the tasklet can happen? See [1] :)

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




[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux