From 6863a5d24ada33a5e4c613568a40f78fe1ca5bc6 Mon Sep 17 00:00:00 2001 From: Jianqun Xu Date: Fri, 30 Jul 2021 16:50:39 +0800 Subject: [PATCH] staging: android: ion: fix partial sync for iommu Fixes: 975372e2cb6c ("staging: android: ion: support partial cpu access") Change-Id: Iabf3b04dbc838ca5c60fa1a0592bbb5aac496090 Signed-off-by: Jianqun Xu --- drivers/staging/android/ion/ion.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c index afe389ed3084..e3051e99b200 100644 --- a/drivers/staging/android/ion/ion.c +++ b/drivers/staging/android/ion/ion.c @@ -437,14 +437,11 @@ static int ion_sgl_sync_range(struct device *dev, struct scatterlist *sgl, for_each_sg(sgl, sg, nents, i) { unsigned int sg_offset, sg_left, size = 0; - if (i == 0) - sg_dma_addr = sg_dma_address(sg); + sg_dma_addr = sg_dma_address(sg); len += sg->length; - if (len <= offset) { - sg_dma_addr += sg->length; + if (len <= offset) continue; - } sg_left = len - offset; sg_offset = sg->length - sg_left; @@ -459,7 +456,6 @@ static int ion_sgl_sync_range(struct device *dev, struct scatterlist *sgl, offset += size; length -= size; - sg_dma_addr += sg->length; if (length == 0) break;