From 87a6c1de728205109955292ccdd59d47efe8c8d0 Mon Sep 17 00:00:00 2001 From: Elon Zhang Date: Thu, 16 Feb 2023 17:59:21 +0800 Subject: [PATCH] crypto: rockchip: add async_req NULL check in done task If done task receive NULL async_req, return directly. Change-Id: I4a260399daf44328da2893d0c3308f99b95919ea Signed-off-by: Elon Zhang --- drivers/crypto/rockchip/rk_crypto_core.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/rockchip/rk_crypto_core.c b/drivers/crypto/rockchip/rk_crypto_core.c index b0618952eeea..768821fb637e 100644 --- a/drivers/crypto/rockchip/rk_crypto_core.c +++ b/drivers/crypto/rockchip/rk_crypto_core.c @@ -422,7 +422,14 @@ static void rk_crypto_queue_task_cb(unsigned long data) static void rk_crypto_done_task_cb(unsigned long data) { struct rk_crypto_dev *rk_dev = (struct rk_crypto_dev *)data; - struct rk_alg_ctx *alg_ctx = rk_alg_ctx_cast(rk_dev->async_req); + struct rk_alg_ctx *alg_ctx; + + if (!rk_dev->async_req) { + dev_err(rk_dev->dev, "done task receive invalid async_req\n"); + return; + } + + alg_ctx = rk_alg_ctx_cast(rk_dev->async_req); rk_dev->stat.done_cnt++;