Instead of open coded variant let's use recently introduced helper. Signed-off-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> --- drivers/dma/zx296702_dma.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/dma/zx296702_dma.c b/drivers/dma/zx296702_dma.c index 245d759..65479f0 100644 --- a/drivers/dma/zx296702_dma.c +++ b/drivers/dma/zx296702_dma.c @@ -554,7 +554,7 @@ static struct dma_async_tx_descriptor *zx_dma_prep_slave_sg( size_t len, avail, total = 0; struct scatterlist *sg; dma_addr_t addr, src = 0, dst = 0; - int num = sglen, i; + int num, i; if (!sgl) return NULL; @@ -562,12 +562,7 @@ static struct dma_async_tx_descriptor *zx_dma_prep_slave_sg( if (zx_pre_config(c, dir)) return NULL; - for_each_sg(sgl, sg, sglen, i) { - avail = sg_dma_len(sg); - if (avail > DMA_MAX_SIZE) - num += DIV_ROUND_UP(avail, DMA_MAX_SIZE) - 1; - } - + num = sg_nents_for_dma(sgl, sglen, DMA_MAX_SIZE); ds = zx_alloc_desc_resource(num, chan); if (!ds) return NULL; -- 2.9.3 -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html