mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
crypto: cavium - 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>
This commit is contained in:
parent
5595d0dc1d
commit
c114ecd3a1
@ -58,14 +58,15 @@ static void softreq_unmap_sgbufs(struct nitrox_softreq *sr)
|
|||||||
struct device *dev = DEV(ndev);
|
struct device *dev = DEV(ndev);
|
||||||
|
|
||||||
|
|
||||||
dma_unmap_sg(dev, sr->in.sg, sr->in.sgmap_cnt, DMA_BIDIRECTIONAL);
|
dma_unmap_sg(dev, sr->in.sg, sg_nents(sr->in.sg),
|
||||||
|
DMA_BIDIRECTIONAL);
|
||||||
dma_unmap_single(dev, sr->in.sgcomp_dma, sr->in.sgcomp_len,
|
dma_unmap_single(dev, sr->in.sgcomp_dma, sr->in.sgcomp_len,
|
||||||
DMA_TO_DEVICE);
|
DMA_TO_DEVICE);
|
||||||
kfree(sr->in.sgcomp);
|
kfree(sr->in.sgcomp);
|
||||||
sr->in.sg = NULL;
|
sr->in.sg = NULL;
|
||||||
sr->in.sgmap_cnt = 0;
|
sr->in.sgmap_cnt = 0;
|
||||||
|
|
||||||
dma_unmap_sg(dev, sr->out.sg, sr->out.sgmap_cnt,
|
dma_unmap_sg(dev, sr->out.sg, sg_nents(sr->out.sg),
|
||||||
DMA_BIDIRECTIONAL);
|
DMA_BIDIRECTIONAL);
|
||||||
dma_unmap_single(dev, sr->out.sgcomp_dma, sr->out.sgcomp_len,
|
dma_unmap_single(dev, sr->out.sgcomp_dma, sr->out.sgcomp_len,
|
||||||
DMA_TO_DEVICE);
|
DMA_TO_DEVICE);
|
||||||
@ -178,7 +179,7 @@ static int dma_map_inbufs(struct nitrox_softreq *sr,
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
incomp_err:
|
incomp_err:
|
||||||
dma_unmap_sg(dev, req->src, nents, DMA_BIDIRECTIONAL);
|
dma_unmap_sg(dev, req->src, sg_nents(req->src), DMA_BIDIRECTIONAL);
|
||||||
sr->in.sgmap_cnt = 0;
|
sr->in.sgmap_cnt = 0;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -203,7 +204,7 @@ static int dma_map_outbufs(struct nitrox_softreq *sr,
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
outcomp_map_err:
|
outcomp_map_err:
|
||||||
dma_unmap_sg(dev, req->dst, nents, DMA_BIDIRECTIONAL);
|
dma_unmap_sg(dev, req->dst, sg_nents(req->dst), DMA_BIDIRECTIONAL);
|
||||||
sr->out.sgmap_cnt = 0;
|
sr->out.sgmap_cnt = 0;
|
||||||
sr->out.sg = NULL;
|
sr->out.sg = NULL;
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user