This driver forgets to kill tasklet when probe fails and remove.
Add the calls to fix it.
Signed-off-by: Chuhong Yuan <[email protected]>
---
drivers/crypto/picoxcell_crypto.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/crypto/picoxcell_crypto.c b/drivers/crypto/picoxcell_crypto.c
index 3cbefb41b099..8d7c6bb2876e 100644
--- a/drivers/crypto/picoxcell_crypto.c
+++ b/drivers/crypto/picoxcell_crypto.c
@@ -1755,6 +1755,7 @@ static int spacc_probe(struct platform_device *pdev)
if (!ret)
return 0;
+ tasklet_kill(&engine->complete);
del_timer_sync(&engine->packet_timeout);
device_remove_file(&pdev->dev, &dev_attr_stat_irq_thresh);
err_clk_disable:
@@ -1771,6 +1772,7 @@ static int spacc_remove(struct platform_device *pdev)
struct spacc_alg *alg, *next;
struct spacc_engine *engine = platform_get_drvdata(pdev);
+ tasklet_kill(&engine->complete);
del_timer_sync(&engine->packet_timeout);
device_remove_file(&pdev->dev, &dev_attr_stat_irq_thresh);
--
2.24.0