summaryrefslogtreecommitdiffstats
path: root/drivers/crypto/amcc
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2018-12-16 18:19:46 +0100
committerMichael Ellerman <mpe@ellerman.id.au>2018-12-20 12:21:20 +0100
commit67d8208fba1324fa0198f9fc58a9edbe09596947 (patch)
tree96706be2b7fc412bf43735b626636027b6eb5f16 /drivers/crypto/amcc
parentpowerpc/dma: properly wire up the unmap_page and unmap_sg methods (diff)
downloadlinux-67d8208fba1324fa0198f9fc58a9edbe09596947.tar.xz
linux-67d8208fba1324fa0198f9fc58a9edbe09596947.zip
crypto4xx_core: don't abuse __dma_sync_page
This function is internal to the DMA API implementation. Instead use the DMA API to properly unmap. Note that the DMA API usage in this driver is a disaster and urgently needs some work - it is missing all the unmaps, seems to do a secondary map where it looks like it should to a unmap in one place to work around cache coherency and the directions passed in seem to be partially wrong. Signed-off-by: Christoph Hellwig <hch@lst.de> Tested-by: Christian Lamparter <chunkeey@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'drivers/crypto/amcc')
-rw-r--r--drivers/crypto/amcc/crypto4xx_core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/crypto/amcc/crypto4xx_core.c b/drivers/crypto/amcc/crypto4xx_core.c
index 6eaec9ba0f68..63cb6956c948 100644
--- a/drivers/crypto/amcc/crypto4xx_core.c
+++ b/drivers/crypto/amcc/crypto4xx_core.c
@@ -596,7 +596,7 @@ static void crypto4xx_aead_done(struct crypto4xx_device *dev,
pd->pd_ctl_len.bf.pkt_len,
dst);
} else {
- __dma_sync_page(sg_page(dst), dst->offset, dst->length,
+ dma_unmap_page(dev->core_dev->device, pd->dest, dst->length,
DMA_FROM_DEVICE);
}