diff options
author | Vinod Koul <vinod.koul@intel.com> | 2016-07-05 09:26:10 +0300 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2016-07-23 13:37:24 +0300 |
commit | 1f11e37729d7bedd5c9aba59550f694307b7efd9 (patch) | |
tree | b73e32d2b2f464dd9abc1102c9ae498fcb9f3bbd | |
parent | 7e654bf7c10162c3cc7fed5c520a2adef9d6e8f7 (diff) | |
download | linux-1f11e37729d7bedd5c9aba59550f694307b7efd9.tar.xz |
dmaengine: sirf-dma: kill the tasklets upon exit
drivers should ensure that tasklets are killed, so that they can't be
run after driver remove is executed
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Cc: Barry Song <Baohua.Song@csr.com>
-rw-r--r-- | drivers/dma/sirf-dma.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/dma/sirf-dma.c b/drivers/dma/sirf-dma.c index 906877919cf3..d8bc3f2a71db 100644 --- a/drivers/dma/sirf-dma.c +++ b/drivers/dma/sirf-dma.c @@ -980,6 +980,7 @@ static int sirfsoc_dma_remove(struct platform_device *op) of_dma_controller_free(op->dev.of_node); dma_async_device_unregister(&sdma->dma); free_irq(sdma->irq, sdma); + tasklet_kill(&sdma->tasklet); irq_dispose_mapping(sdma->irq); pm_runtime_disable(&op->dev); if (!pm_runtime_status_suspended(&op->dev)) |