| From 286233e604d79f0c7fa04abec2180d5d89a74749 Mon Sep 17 00:00:00 2001 |
| From: Horia Geanta <horia.geanta@freescale.com> |
| Date: Fri, 10 May 2013 15:08:39 +0300 |
| Subject: crypto: caam - fix inconsistent assoc dma mapping direction |
| |
| From: Horia Geanta <horia.geanta@freescale.com> |
| |
| commit 286233e604d79f0c7fa04abec2180d5d89a74749 upstream. |
| |
| req->assoc is dma mapped BIDIRECTIONAL and unmapped TO_DEVICE. |
| Since it is read-only for the device, use TO_DEVICE both for mapping |
| and unmapping. |
| |
| Signed-off-by: Horia Geanta <horia.geanta@freescale.com> |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/crypto/caam/caamalg.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/crypto/caam/caamalg.c |
| +++ b/drivers/crypto/caam/caamalg.c |
| @@ -1154,7 +1154,7 @@ static struct aead_edesc *aead_edesc_all |
| dst_nents = sg_count(req->dst, req->cryptlen, &dst_chained); |
| |
| sgc = dma_map_sg_chained(jrdev, req->assoc, assoc_nents ? : 1, |
| - DMA_BIDIRECTIONAL, assoc_chained); |
| + DMA_TO_DEVICE, assoc_chained); |
| if (likely(req->src == req->dst)) { |
| sgc = dma_map_sg_chained(jrdev, req->src, src_nents ? : 1, |
| DMA_BIDIRECTIONAL, src_chained); |
| @@ -1336,7 +1336,7 @@ static struct aead_edesc *aead_giv_edesc |
| dst_nents = sg_count(req->dst, req->cryptlen, &dst_chained); |
| |
| sgc = dma_map_sg_chained(jrdev, req->assoc, assoc_nents ? : 1, |
| - DMA_BIDIRECTIONAL, assoc_chained); |
| + DMA_TO_DEVICE, assoc_chained); |
| if (likely(req->src == req->dst)) { |
| sgc = dma_map_sg_chained(jrdev, req->src, src_nents ? : 1, |
| DMA_BIDIRECTIONAL, src_chained); |