summaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2016-07-05 11:27:40 +0200
committerVinod Koul <vinod.koul@intel.com>2016-07-23 12:37:25 +0200
commitbd16934a5630f1e7294f33f1f72d89d4f6e6aeae (patch)
tree80dbbc3f81ac0db8df73b4c665f7b48eb416f304 /drivers/dma
parentdmaengine: txx9dmac: explicitly freeup irq (diff)
downloadlinux-bd16934a5630f1e7294f33f1f72d89d4f6e6aeae.tar.xz
linux-bd16934a5630f1e7294f33f1f72d89d4f6e6aeae.zip
dmaengine: qcom_hidma: 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> Acked-by: Sinan Kaya <okaya@codeaurora.org>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/qcom/hidma.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/dma/qcom/hidma.c b/drivers/dma/qcom/hidma.c
index 41b5c6dee713..b2374cd91e45 100644
--- a/drivers/dma/qcom/hidma.c
+++ b/drivers/dma/qcom/hidma.c
@@ -708,6 +708,7 @@ static int hidma_remove(struct platform_device *pdev)
pm_runtime_get_sync(dmadev->ddev.dev);
dma_async_device_unregister(&dmadev->ddev);
devm_free_irq(dmadev->ddev.dev, dmadev->irq, dmadev->lldev);
+ tasklet_kill(&dmadev->task);
hidma_debug_uninit(dmadev);
hidma_ll_uninit(dmadev->lldev);
hidma_free(dmadev);