crypto4xx_core: don't abuse __dma_sync_page
authorChristoph Hellwig <hch@lst.de>
Sun, 16 Dec 2018 17:19:46 +0000 (18:19 +0100)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 20 Dec 2018 11:21:20 +0000 (22:21 +1100)
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>
drivers/crypto/amcc/crypto4xx_core.c

index 6eaec9ba0f68baafbb233bc3a670282d20be098a..63cb6956c948b758e6481c520b0ad8f592884459 100644 (file)
@@ -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);
        }