From 70fd22cb4bb1632cf8f3e5a8ebb634b0649e44e1 Mon Sep 17 00:00:00 2001 From: Lin Jinhan Date: Fri, 4 Mar 2022 11:05:27 +0800 Subject: [PATCH] crypto: rockchip: fix dma_map_sg/dma_unmap_sg not paired when using dma_fd dma_fd buffer has been mapped by cryptodev and does not need to be mapped again. Signed-off-by: Lin Jinhan Change-Id: Ic28bebe3b169dfc4cb1fde4457122277f32294bf --- drivers/crypto/rockchip/rk_crypto_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/crypto/rockchip/rk_crypto_core.c b/drivers/crypto/rockchip/rk_crypto_core.c index e914ec896838..2de5b35fa702 100644 --- a/drivers/crypto/rockchip/rk_crypto_core.c +++ b/drivers/crypto/rockchip/rk_crypto_core.c @@ -179,7 +179,7 @@ static int rk_load_data(struct rk_crypto_dev *rk_dev, sg_src->length); alg_ctx->left_bytes -= count; - if (!dma_map_sg(dev, sg_src, 1, DMA_TO_DEVICE)) { + if (!alg_ctx->is_dma && !dma_map_sg(dev, sg_src, 1, DMA_TO_DEVICE)) { dev_err(dev, "[%s:%d] dma_map_sg(src) error\n", __func__, __LINE__); ret = -EINVAL;