mirror of
https://github.com/armbian/linux-cix.git
synced 2026-01-06 12:30:45 -08:00
crypto: gemini - Fix error check for dma_map_sg
dma_map_sg return 0 on error. Cc: Corentin Labbe <clabbe@baylibre.com> Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: "David S. Miller" <davem@davemloft.net> Cc: linux-crypto@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Jack Wang <jinpu.wang@ionos.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
@@ -149,7 +149,7 @@ static int sl3516_ce_cipher(struct skcipher_request *areq)
|
||||
if (areq->src == areq->dst) {
|
||||
nr_sgs = dma_map_sg(ce->dev, areq->src, sg_nents(areq->src),
|
||||
DMA_BIDIRECTIONAL);
|
||||
if (nr_sgs <= 0 || nr_sgs > MAXDESC / 2) {
|
||||
if (!nr_sgs || nr_sgs > MAXDESC / 2) {
|
||||
dev_err(ce->dev, "Invalid sg number %d\n", nr_sgs);
|
||||
err = -EINVAL;
|
||||
goto theend;
|
||||
@@ -158,14 +158,14 @@ static int sl3516_ce_cipher(struct skcipher_request *areq)
|
||||
} else {
|
||||
nr_sgs = dma_map_sg(ce->dev, areq->src, sg_nents(areq->src),
|
||||
DMA_TO_DEVICE);
|
||||
if (nr_sgs <= 0 || nr_sgs > MAXDESC / 2) {
|
||||
if (!nr_sgs || nr_sgs > MAXDESC / 2) {
|
||||
dev_err(ce->dev, "Invalid sg number %d\n", nr_sgs);
|
||||
err = -EINVAL;
|
||||
goto theend;
|
||||
}
|
||||
nr_sgd = dma_map_sg(ce->dev, areq->dst, sg_nents(areq->dst),
|
||||
DMA_FROM_DEVICE);
|
||||
if (nr_sgd <= 0 || nr_sgd > MAXDESC) {
|
||||
if (!nr_sgd || nr_sgd > MAXDESC) {
|
||||
dev_err(ce->dev, "Invalid sg number %d\n", nr_sgd);
|
||||
err = -EINVAL;
|
||||
goto theend_sgs;
|
||||
|
||||
Reference in New Issue
Block a user