Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

crypto: amlogic - Fix the parameter of dma_unmap_sg()

For function dma_unmap_sg(), the <nents> parameter should be number of
elements in the scatterlist prior to the mapping, not after the mapping.
So fix this usage.

Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Xiang Chen and committed by
Herbert Xu
5595d0dc 00aa6e65

+3 -3
+3 -3
drivers/crypto/amlogic/amlogic-gxl-cipher.c
··· 236 236 dma_unmap_single(mc->dev, phykeyiv, keyivlen, DMA_TO_DEVICE); 237 237 238 238 if (areq->src == areq->dst) { 239 - dma_unmap_sg(mc->dev, areq->src, nr_sgs, DMA_BIDIRECTIONAL); 239 + dma_unmap_sg(mc->dev, areq->src, sg_nents(areq->src), DMA_BIDIRECTIONAL); 240 240 } else { 241 - dma_unmap_sg(mc->dev, areq->src, nr_sgs, DMA_TO_DEVICE); 242 - dma_unmap_sg(mc->dev, areq->dst, nr_sgd, DMA_FROM_DEVICE); 241 + dma_unmap_sg(mc->dev, areq->src, sg_nents(areq->src), DMA_TO_DEVICE); 242 + dma_unmap_sg(mc->dev, areq->dst, sg_nents(areq->dst), DMA_FROM_DEVICE); 243 243 } 244 244 245 245 if (areq->iv && ivsize > 0) {