From: Christoph Hellwig Date: Sun, 16 Dec 2018 17:19:46 +0000 (+0100) Subject: crypto4xx_core: don't abuse __dma_sync_page X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=67d8208fba1324fa0198f9fc58a9edbe09596947;p=openwrt%2Fstaging%2Fblogic.git 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 Tested-by: Christian Lamparter Signed-off-by: Michael Ellerman --- 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); }