diff options
author | Horia Geantă <horia.geanta@nxp.com> | 2018-08-06 15:29:09 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-09-09 10:32:42 +0200 |
commit | 3290dec64398e829c700c4b6c083acffbe02ddd5 (patch) | |
tree | a2d30284da9841b94459485daffb99c283b21b07 | |
parent | f39f1f81c74e6dd226d3fae7c665a2052cd3e046 (diff) | |
download | linux-stable-3290dec64398e829c700c4b6c083acffbe02ddd5.tar.gz linux-stable-3290dec64398e829c700c4b6c083acffbe02ddd5.tar.bz2 linux-stable-3290dec64398e829c700c4b6c083acffbe02ddd5.zip |
crypto: caam/jr - fix descriptor DMA unmapping
commit cc98963dbaaea93d17608641b8d6942a5327fc31 upstream.
Descriptor address needs to be swapped to CPU endianness before being
DMA unmapped.
Cc: <stable@vger.kernel.org> # 4.8+
Fixes: 261ea058f016 ("crypto: caam - handle core endianness != caam endianness")
Reported-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/crypto/caam/jr.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/crypto/caam/jr.c b/drivers/crypto/caam/jr.c index f4f258075b89..acdd72016ffe 100644 --- a/drivers/crypto/caam/jr.c +++ b/drivers/crypto/caam/jr.c @@ -190,7 +190,8 @@ static void caam_jr_dequeue(unsigned long devarg) BUG_ON(CIRC_CNT(head, tail + i, JOBR_DEPTH) <= 0); /* Unmap just-run descriptor so we can post-process */ - dma_unmap_single(dev, jrp->outring[hw_idx].desc, + dma_unmap_single(dev, + caam_dma_to_cpu(jrp->outring[hw_idx].desc), jrp->entinfo[sw_idx].desc_size, DMA_TO_DEVICE); |