OSDN Git Service

crypto: sun8i-ce - fix removal of module
authorCorentin Labbe <clabbe.montjoie@gmail.com>
Mon, 6 Jan 2020 19:30:53 +0000 (20:30 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 16 Jan 2020 07:18:13 +0000 (15:18 +0800)
Removing the driver cause an oops due to the fact we clean an extra
channel.
Let's give the right index to the cleaning function.

Fixes: 06f751b61329 ("crypto: allwinner - Add sun8i-ce Crypto Engine")
Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c

index 5373950..f72346a 100644 (file)
@@ -624,7 +624,7 @@ error_alg:
 error_irq:
        sun8i_ce_pm_exit(ce);
 error_pm:
-       sun8i_ce_free_chanlist(ce, MAXFLOW);
+       sun8i_ce_free_chanlist(ce, MAXFLOW - 1);
        return err;
 }
 
@@ -638,7 +638,7 @@ static int sun8i_ce_remove(struct platform_device *pdev)
        debugfs_remove_recursive(ce->dbgfs_dir);
 #endif
 
-       sun8i_ce_free_chanlist(ce, MAXFLOW);
+       sun8i_ce_free_chanlist(ce, MAXFLOW - 1);
 
        sun8i_ce_pm_exit(ce);
        return 0;