From b859202722f8fd046384073e01e68a0742a5553f Mon Sep 17 00:00:00 2001 From: Ofer Heifetz Date: Mon, 26 Feb 2018 14:45:10 +0100 Subject: crypto: inside-secure - move hash result dma mapping to request In heavy traffic the DMA mapping is overwritten by multiple requests as the DMA address is stored in a global context. This patch moves this information to the per-hash request context so that it can't be overwritten. Fixes: 1b44c5a60c13 ("crypto: inside-secure - add SafeXcel EIP197 crypto engine driver") Signed-off-by: Ofer Heifetz [Antoine: rebased the patch, small fixes, commit message.] Signed-off-by: Antoine Tenart Signed-off-by: Herbert Xu --- drivers/crypto/inside-secure/safexcel.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'drivers/crypto/inside-secure/safexcel.h') diff --git a/drivers/crypto/inside-secure/safexcel.h b/drivers/crypto/inside-secure/safexcel.h index caaf6a81b162..4e14c7e730c4 100644 --- a/drivers/crypto/inside-secure/safexcel.h +++ b/drivers/crypto/inside-secure/safexcel.h @@ -580,7 +580,6 @@ struct safexcel_context { bool exit_inv; /* Used for ahash requests */ - dma_addr_t result_dma; void *cache; dma_addr_t cache_dma; unsigned int cache_sz; @@ -608,8 +607,7 @@ struct safexcel_inv_result { void safexcel_dequeue(struct safexcel_crypto_priv *priv, int ring); void safexcel_complete(struct safexcel_crypto_priv *priv, int ring); void safexcel_free_context(struct safexcel_crypto_priv *priv, - struct crypto_async_request *req, - int result_sz); + struct crypto_async_request *req); int safexcel_invalidate_cache(struct crypto_async_request *async, struct safexcel_crypto_priv *priv, dma_addr_t ctxr_dma, int ring, -- cgit