This driver forgets to kill tasklet when probe fails and remove. Add the calls to fix it. Signed-off-by: Chuhong Yuan <hslester96@xxxxxxxxx> --- 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