]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
crypto: sun8i-ce - fix removal of module
authorCorentin Labbe <clabbe.montjoie@gmail.com>
Mon, 6 Jan 2020 19:30:53 +0000 (20:30 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Feb 2020 12:37:00 +0000 (04:37 -0800)
commit 93d24ac4b26770f8e5118a731cd9314f3808bd10 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c

index 73a7649f915d9c4204c2a9fbcc11f88a216ea759..9e8b8dede9200111acfa72790093f97ef976f90c 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;