On driver removal, before killing any tasklets, ensure that the channel interrupts are disabled so that the tasklet will not try to run during or after the removal of the driver. Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx> --- drivers/dma/tegra20-apb-dma.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c index 2bfab8d28b53..0dd6e7deaa8e 100644 --- a/drivers/dma/tegra20-apb-dma.c +++ b/drivers/dma/tegra20-apb-dma.c @@ -1492,6 +1492,7 @@ static int tegra_dma_remove(struct platform_device *pdev) for (i = 0; i < tdma->chip_data->nr_channels; ++i) { tdc = &tdma->channels[i]; + disable_irq(tdc->irq); tasklet_kill(&tdc->tasklet); } -- 2.1.4 -- 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