Merge tag 'dma-mapping-5.20-2022-08-06' of git://git.infradead.org/users/hch/dma...
[sfrench/cifs-2.6.git] / drivers / iommu / iommu.c
index f53f8b2d27a54cbf6fbbac984abc8f3c3de123b6..780fb70715770d710f9a806d443dd886222ce986 100644 (file)
@@ -2460,6 +2460,9 @@ static ssize_t __iommu_map_sg(struct iommu_domain *domain, unsigned long iova,
                        len = 0;
                }
 
+               if (sg_is_dma_bus_address(sg))
+                       goto next;
+
                if (len) {
                        len += sg->length;
                } else {
@@ -2467,6 +2470,7 @@ static ssize_t __iommu_map_sg(struct iommu_domain *domain, unsigned long iova,
                        start = s_phys;
                }
 
+next:
                if (++i < nents)
                        sg = sg_next(sg);
        }