From eda5e26ad1c377f276c3b30b8ec31d2c2e04a680 Mon Sep 17 00:00:00 2001 From: Prakash Gupta Date: Wed, 9 Oct 2019 17:12:48 +0530 Subject: [PATCH] iommu: dma-mapping-fast: fix iova alloc wrap In case of iova_alloc bitmap search wrap, we erroneously update the previous_next_start as 0, this causes stale tlb logic not detect wrap and stale TLB entry issues. Fix the same. Change-Id: Ic8c96e98abc91520f222a7dbe5024814dabd5042 Signed-off-by: Prakash Gupta Signed-off-by: Isaac J. Manjarres --- drivers/iommu/dma-mapping-fast.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/iommu/dma-mapping-fast.c b/drivers/iommu/dma-mapping-fast.c index fa22a63efd9b..511946dbf533 100644 --- a/drivers/iommu/dma-mapping-fast.c +++ b/drivers/iommu/dma-mapping-fast.c @@ -130,7 +130,6 @@ static dma_addr_t __fast_smmu_alloc_iova(struct dma_fast_smmu_mapping *mapping, nbits, align); if (unlikely(bit > mapping->num_4k_pages)) { /* try wrapping */ - mapping->next_start = 0; /* TODO: SHOULD I REALLY DO THIS?!? */ bit = bitmap_find_next_zero_area( mapping->bitmap, mapping->num_4k_pages, 0, nbits, align);