crypto: inside-secure - move cache 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: 1b44c5a60c
("crypto: inside-secure - add SafeXcel EIP197 crypto engine driver")
Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:

committed by
Herbert Xu

parent
b859202722
commit
cff9a17545
@@ -537,20 +537,6 @@ finalize:
|
||||
EIP197_HIA_CDR(priv, ring) + EIP197_HIA_xDR_PREP_COUNT);
|
||||
}
|
||||
|
||||
void safexcel_free_context(struct safexcel_crypto_priv *priv,
|
||||
struct crypto_async_request *req)
|
||||
{
|
||||
struct safexcel_context *ctx = crypto_tfm_ctx(req->tfm);
|
||||
|
||||
if (ctx->cache) {
|
||||
dma_unmap_single(priv->dev, ctx->cache_dma, ctx->cache_sz,
|
||||
DMA_TO_DEVICE);
|
||||
kfree(ctx->cache);
|
||||
ctx->cache = NULL;
|
||||
ctx->cache_sz = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void safexcel_complete(struct safexcel_crypto_priv *priv, int ring)
|
||||
{
|
||||
struct safexcel_command_desc *cdesc;
|
||||
|
Reference in New Issue
Block a user