Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 286233e6 authored by Horia Geanta's avatar Horia Geanta Committed by Herbert Xu
Browse files

crypto: caam - fix inconsistent assoc dma mapping direction



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.

Cc: <stable@vger.kernel.org> # 3.9, 3.8
Signed-off-by: default avatarHoria Geanta <horia.geanta@freescale.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent f722406f
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -1154,7 +1154,7 @@ static struct aead_edesc *aead_edesc_alloc(struct aead_request *req,
		dst_nents = sg_count(req->dst, req->cryptlen, &dst_chained);
		dst_nents = sg_count(req->dst, req->cryptlen, &dst_chained);


	sgc = dma_map_sg_chained(jrdev, req->assoc, assoc_nents ? : 1,
	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)) {
	if (likely(req->src == req->dst)) {
		sgc = dma_map_sg_chained(jrdev, req->src, src_nents ? : 1,
		sgc = dma_map_sg_chained(jrdev, req->src, src_nents ? : 1,
					 DMA_BIDIRECTIONAL, src_chained);
					 DMA_BIDIRECTIONAL, src_chained);
@@ -1336,7 +1336,7 @@ static struct aead_edesc *aead_giv_edesc_alloc(struct aead_givcrypt_request
		dst_nents = sg_count(req->dst, req->cryptlen, &dst_chained);
		dst_nents = sg_count(req->dst, req->cryptlen, &dst_chained);


	sgc = dma_map_sg_chained(jrdev, req->assoc, assoc_nents ? : 1,
	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)) {
	if (likely(req->src == req->dst)) {
		sgc = dma_map_sg_chained(jrdev, req->src, src_nents ? : 1,
		sgc = dma_map_sg_chained(jrdev, req->src, src_nents ? : 1,
					 DMA_BIDIRECTIONAL, src_chained);
					 DMA_BIDIRECTIONAL, src_chained);