crypto: caam - add missing key_dma unmap
authorHoria Geanta <horia.geanta@freescale.com>
Fri, 14 Mar 2014 15:48:30 +0000 (17:48 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 21 Mar 2014 13:54:28 +0000 (21:54 +0800)
(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>
drivers/crypto/caam/caamalg.c

index a9ba8b1..5f89125 100644 (file)
@@ -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);
 }