Commit b6cd3cfb authored by Ovidiu Panait's avatar Ovidiu Panait Committed by Herbert Xu
Browse files

crypto: sun8i-ce - fix nents passed to dma_unmap_sg()



In sun8i_ce_cipher_unprepare(), dma_unmap_sg() is incorrectly called with
the number of entries returned by dma_map_sg(), rather than using the
original number of entries passed when mapping the scatterlist.

To fix this, stash the original number of entries passed to dma_map_sg()
in the request context.

Fixes: 0605fa0f ("crypto: sun8i-ce - split into prepare/run/unprepare")
Signed-off-by: default avatarOvidiu Panait <ovidiu.panait.oss@gmail.com>
Acked-by: default avatarCorentin LABBE <clabbe.montjoie@gmail.com>
Tested-by: default avatarCorentin LABBE <clabbe.montjoie@gmail.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 8c8f269a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -278,8 +278,8 @@ static int sun8i_ce_cipher_prepare(struct crypto_engine *engine, void *async_req
	}

	chan->timeout = areq->cryptlen;
	rctx->nr_sgs = nr_sgs;
	rctx->nr_sgd = nr_sgd;
	rctx->nr_sgs = ns;
	rctx->nr_sgd = nd;
	return 0;

theend_sgs: