From 3258128cd9dd2e61e37edfb17388a265da5d9d8c Mon Sep 17 00:00:00 2001 From: Lin Jinhan Date: Thu, 25 Jan 2024 16:11:36 +0800 Subject: [PATCH] crypto: rockchip: cryptodev: add akcipher_request_set_callback for rsa Missing akcipher_request_set_callback will cause a process exception when rsa works in asynchronous mode. Signed-off-by: Lin Jinhan Change-Id: I99d3ffde471269528f42869d052004a25a6c14b0 --- drivers/crypto/rockchip/cryptodev_linux/rk_cryptodev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/crypto/rockchip/cryptodev_linux/rk_cryptodev.c b/drivers/crypto/rockchip/cryptodev_linux/rk_cryptodev.c index bf85f657e619..b2073fcb2721 100644 --- a/drivers/crypto/rockchip/cryptodev_linux/rk_cryptodev.c +++ b/drivers/crypto/rockchip/cryptodev_linux/rk_cryptodev.c @@ -708,6 +708,9 @@ static int crypto_rsa_run(struct fcrypt *fcr, struct kernel_crypt_rsa_op *krop) crypto_init_wait(&wait); akcipher_request_set_crypt(req, &src, &dst, rop->in_len, out_len_max); + akcipher_request_set_callback(req, CRYPTO_TFM_REQ_MAY_BACKLOG, + crypto_req_done, &wait); + switch (rop->op) { case AOP_ENCRYPT: ret = crypto_wait_req(crypto_akcipher_encrypt(req), &wait);