summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/crypto/caam/caamhash.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/crypto/caam/caamhash.c b/drivers/crypto/caam/caamhash.c
index cef0ce4d2598..6e873496fa30 100644
--- a/drivers/crypto/caam/caamhash.c
+++ b/drivers/crypto/caam/caamhash.c
@@ -707,6 +707,14 @@ static inline void ahash_unmap(struct device *dev,
if (edesc->dst_dma)
dma_unmap_single(dev, edesc->dst_dma, dst_len, DMA_FROM_DEVICE);
+ if (state->buf_dma) {
+ dma_unmap_single(dev, state->buf_dma,
+ (state->current_buf ?
+ state->buflen_1 : state->buflen_0),
+ DMA_TO_DEVICE);
+ state->buf_dma = 0;
+ }
+
if (edesc->sec4_sg_bytes)
dma_unmap_single(dev, edesc->sec4_sg_dma,
edesc->sec4_sg_bytes, DMA_TO_DEVICE);