iommu: rk-iovmm: fix back to back sg entries condition
authorSimon <xxm@rock-chips.com>
Tue, 8 Mar 2016 01:48:16 +0000 (09:48 +0800)
committerGerrit Code Review <gerrit@rock-chips.com>
Wed, 9 Mar 2016 01:29:00 +0000 (09:29 +0800)
Change-Id: Ie493d3d8b34ac4229b3a5a2a84cd52568425f106
Signed-off-by: Simon <xxm@rock-chips.com>
drivers/iommu/rk-iovmm.c

index 9aebb5bbabfd4afa2ed91c4d65a60627e4d8bbd1..3dfa109e436109b75af4f35bb38c25a50a033337 100644 (file)
@@ -98,17 +98,15 @@ dma_addr_t rockchip_iovmm_map(struct device *dev,
        addr = start;
        do {
                phys_addr_t phys;
-               struct scatterlist *sg_tmp;
                size_t len;
 
                phys = sg_phys(sg);
                len = sg->length;
 
                /* if back to back sg entries are contiguous consolidate them */
-               sg_tmp = sg_next(sg);
                while (sg_next(sg) && sg_phys(sg) + sg->length == sg_phys(sg_next(sg))) {
-                       len += sg_tmp->length;
                        sg = sg_next(sg);
+                       len += sg->length;
                }
 
                if (offset > 0) {