aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJia Jie Ho <jiajie.ho@starfivetech.com>2024-04-29 14:06:37 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2024-05-10 17:15:24 +0800
commit3d12d90efadf689b05280ebbb3fca870298d218f (patch)
tree24c1a8e4a1131580d007a3bf99d67abf4fcef9e0
parent6117af86365916e4202b5a709c155f7e6e5df810 (diff)
downloadrenesas-drivers-3d12d90efadf689b05280ebbb3fca870298d218f.tar.gz
crypto: starfive - Skip dma setup for zeroed message
Skip dma setup and mapping for AES driver if plaintext is empty. Signed-off-by: Jia Jie Ho <jiajie.ho@starfivetech.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r--drivers/crypto/starfive/jh7110-aes.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/crypto/starfive/jh7110-aes.c b/drivers/crypto/starfive/jh7110-aes.c
index 72b7d46150d57c..9d6e2f936f0393 100644
--- a/drivers/crypto/starfive/jh7110-aes.c
+++ b/drivers/crypto/starfive/jh7110-aes.c
@@ -590,12 +590,16 @@ static int starfive_aes_do_one_req(struct crypto_engine *engine, void *areq)
if (ret)
return ret;
+ if (!cryp->total_in)
+ goto finish_req;
+
starfive_aes_dma_init(cryp);
ret = starfive_aes_map_sg(cryp, rctx->in_sg, rctx->out_sg);
if (ret)
return ret;
+finish_req:
starfive_aes_finish_req(ctx);
return 0;