crypto: ux500 - Fix the parameter of dma_unmap_sg()
authorXiang Chen <chenxiang66@hisilicon.com>
Tue, 16 Mar 2021 01:55:25 +0000 (09:55 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 26 Mar 2021 09:02:34 +0000 (20:02 +1100)
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>
drivers/crypto/ux500/cryp/cryp_core.c
drivers/crypto/ux500/hash/hash_core.c

index c3adeb2..9abf00e 100644 (file)
@@ -608,12 +608,12 @@ static void cryp_dma_done(struct cryp_ctx *ctx)
        chan = ctx->device->dma.chan_mem2cryp;
        dmaengine_terminate_all(chan);
        dma_unmap_sg(chan->device->dev, ctx->device->dma.sg_src,
-                    ctx->device->dma.sg_src_len, DMA_TO_DEVICE);
+                    ctx->device->dma.nents_src, DMA_TO_DEVICE);
 
        chan = ctx->device->dma.chan_cryp2mem;
        dmaengine_terminate_all(chan);
        dma_unmap_sg(chan->device->dev, ctx->device->dma.sg_dst,
-                    ctx->device->dma.sg_dst_len, DMA_FROM_DEVICE);
+                    ctx->device->dma.nents_dst, DMA_FROM_DEVICE);
 }
 
 static int cryp_dma_write(struct cryp_ctx *ctx, struct scatterlist *sg,
index da284b0..67b1237 100644 (file)
@@ -190,7 +190,7 @@ static void hash_dma_done(struct hash_ctx *ctx)
        chan = ctx->device->dma.chan_mem2hash;
        dmaengine_terminate_all(chan);
        dma_unmap_sg(chan->device->dev, ctx->device->dma.sg,
-                    ctx->device->dma.sg_len, DMA_TO_DEVICE);
+                    ctx->device->dma.nents, DMA_TO_DEVICE);
 }
 
 static int hash_dma_write(struct hash_ctx *ctx,