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

crypto: sahara - Fix error check for dma_map_sg

dma_map_sg return 0 on error, it returns the number of
DMA address segments mapped (this may be shorter
than <nents> passed in if some elements of the scatter/gather
list are physically or virtually adjacent and an IOMMU maps
them with a single entry).

Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: linux-crypto@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

Signed-off-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Jack Wang and committed by
Herbert Xu
66f0b6b7 545665ad

+2 -2
+2 -2
drivers/crypto/sahara.c
··· 487 487 488 488 ret = dma_map_sg(dev->device, dev->in_sg, dev->nb_in_sg, 489 489 DMA_TO_DEVICE); 490 - if (ret != dev->nb_in_sg) { 490 + if (!ret) { 491 491 dev_err(dev->device, "couldn't map in sg\n"); 492 492 goto unmap_in; 493 493 } 494 494 ret = dma_map_sg(dev->device, dev->out_sg, dev->nb_out_sg, 495 495 DMA_FROM_DEVICE); 496 - if (ret != dev->nb_out_sg) { 496 + if (!ret) { 497 497 dev_err(dev->device, "couldn't map out sg\n"); 498 498 goto unmap_out; 499 499 }