summaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2016-07-05 14:57:40 +0530
committerVinod Koul <vinod.koul@intel.com>2016-07-23 16:07:25 +0530
commitbd16934a5630f1e7294f33f1f72d89d4f6e6aeae (patch)
tree80dbbc3f81ac0db8df73b4c665f7b48eb416f304 /drivers/dma
parentdebc4849007517be8f03a199ea29dc3f797c329e (diff)
downloadlinux-0-day-bd16934a5630f1e7294f33f1f72d89d4f6e6aeae.tar.gz
linux-0-day-bd16934a5630f1e7294f33f1f72d89d4f6e6aeae.tar.xz
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 41b5c6dee7132..b2374cd91e457 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);