[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1531823403-3683-3-git-send-email-hannah@marvell.com>
Date: Tue, 17 Jul 2018 13:30:00 +0300
From: <hannah@...vell.com>
To: <dan.j.williams@...el.com>, <vkoul@...nel.org>,
<dmaengine@...r.kernel.org>
CC: <thomas.petazzoni@...tlin.com>, <linux-kernel@...r.kernel.org>,
<nadavh@...vell.com>, <omrii@...vell.com>, <oferh@...vell.com>,
<gregory.clement@...tlin.com>, Hanna Hawa <hannah@...vell.com>
Subject: [PATCH 2/5] dmaengine: mv_xor_v2: kill the tasklets upon exit
From: Hanna Hawa <hannah@...vell.com>
The mv_xor_v2 driver uses a tasklet, initialized during the probe()
routine. However, it forgets to cleanup the tasklet using
tasklet_kill() function during the remove() routine, which this patch
fixes. This prevents the tasklet from potentially running after the
module has been removed.
Fixes: 19a340b1a820 ("dmaengine: mv_xor_v2: new driver")
Signed-off-by: Hanna Hawa <hannah@...vell.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@...tlin.com>
---
drivers/dma/mv_xor_v2.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/dma/mv_xor_v2.c b/drivers/dma/mv_xor_v2.c
index e16083a..e718498 100644
--- a/drivers/dma/mv_xor_v2.c
+++ b/drivers/dma/mv_xor_v2.c
@@ -903,6 +903,8 @@ static int mv_xor_v2_remove(struct platform_device *pdev)
platform_msi_domain_free_irqs(&pdev->dev);
+ tasklet_kill(&xor_dev->irq_tasklet);
+
clk_disable_unprepare(xor_dev->clk);
return 0;
--
1.9.1
Powered by blists - more mailing lists