Browse Source

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>
Horia Geanta 11 years ago
parent
commit
ec31eed754
1 changed files with 5 additions and 0 deletions
  1. 5 0
      drivers/crypto/caam/caamalg.c

+ 5 - 0
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,
 		dma_unmap_single(ctx->jrdev, ctx->sh_desc_givenc_dma,
 				 desc_bytes(ctx->sh_desc_givenc),
 				 desc_bytes(ctx->sh_desc_givenc),
 				 DMA_TO_DEVICE);
 				 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);
 	caam_jr_free(ctx->jrdev);
 }
 }