diff --git a/drivers/iommu/dma-mapping-fast.c b/drivers/iommu/dma-mapping-fast.c index 9ee2d572687a..8a940e7d2a78 100644 --- a/drivers/iommu/dma-mapping-fast.c +++ b/drivers/iommu/dma-mapping-fast.c @@ -378,7 +378,8 @@ static void fast_smmu_unmap_sg(struct device *dev, break; sg = tmp; } - len = sg_dma_address(sg) + sg_dma_len(sg) - start; + len = ALIGN(sg_dma_address(sg) + sg_dma_len(sg) - start, + FAST_PAGE_SIZE); av8l_fast_unmap_public(mapping->pgtbl_ops, start, len);