diff options
author | Horia Geanta <horia.geanta@freescale.com> | 2014-03-14 17:48:30 +0200 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2014-03-21 21:54:28 +0800 |
commit | ec31eed754e2fd43938e72ef9e1b60aa55ccb417 (patch) | |
tree | 11eb75762c4f90357ee7f7f6dbb65f017ccbbd59 /drivers/crypto | |
parent | ae4a825ffdd6fd769af2667e03070940af1b8368 (diff) | |
download | op-kernel-dev-ec31eed754e2fd43938e72ef9e1b60aa55ccb417.zip op-kernel-dev-ec31eed754e2fd43938e72ef9e1b60aa55ccb417.tar.gz |
crypto: caam - add missing key_dma unmap
(struct caam_ctx) ctx->key_dma needs to be unmapped
when context is cleaned up.
Signed-off-by: Horia Geanta <horia.geanta@freescale.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r-- | drivers/crypto/caam/caamalg.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/crypto/caam/caamalg.c b/drivers/crypto/caam/caamalg.c index a9ba8b1..5f89125 100644 --- a/drivers/crypto/caam/caamalg.c +++ b/drivers/crypto/caam/caamalg.c @@ -2380,6 +2380,11 @@ static void caam_cra_exit(struct crypto_tfm *tfm) dma_unmap_single(ctx->jrdev, ctx->sh_desc_givenc_dma, desc_bytes(ctx->sh_desc_givenc), DMA_TO_DEVICE); + if (ctx->key_dma && + !dma_mapping_error(ctx->jrdev, ctx->key_dma)) + dma_unmap_single(ctx->jrdev, ctx->key_dma, + ctx->enckeylen + ctx->split_key_pad_len, + DMA_TO_DEVICE); caam_jr_free(ctx->jrdev); } |