summaryrefslogtreecommitdiffstats
path: root/drivers/iommu/omap-iommu.c
diff options
context:
space:
mode:
authorLaurent Pinchart2014-03-07 23:47:03 +0100
committerLaurent Pinchart2014-04-16 16:30:16 +0200
commitf7129a0e4d5835b7851208d35984bc80116f1ed0 (patch)
treeff4e5845305decc5cd450b36a9d1069252540dbb /drivers/iommu/omap-iommu.c
parentiommu/omap: Move to_iommu definition from omap-iopgtable.h (diff)
downloadkernel-qcow2-linux-f7129a0e4d5835b7851208d35984bc80116f1ed0.tar.gz
kernel-qcow2-linux-f7129a0e4d5835b7851208d35984bc80116f1ed0.tar.xz
kernel-qcow2-linux-f7129a0e4d5835b7851208d35984bc80116f1ed0.zip
iommu/omap: Fix 'no page for' debug message in flush_iotlb_page()
The flush_iotlb_page() function prints a debug message when no corresponding page was found in the TLB. That condition is incorrectly checked and always resolves to true, given that the for_each_iotlb_cr() loop is never interrupted and always reaches obj->nr_tlb_entries. Given that we can't have two TLB entries for the same VA, break from the loop when a match is found. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Suman Anna <s-anna@ti.com>
Diffstat (limited to 'drivers/iommu/omap-iommu.c')
-rw-r--r--drivers/iommu/omap-iommu.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c
index 78f32d13dd66..b5787f151dfc 100644
--- a/drivers/iommu/omap-iommu.c
+++ b/drivers/iommu/omap-iommu.c
@@ -394,6 +394,7 @@ static void flush_iotlb_page(struct omap_iommu *obj, u32 da)
__func__, start, da, bytes);
iotlb_load_cr(obj, &cr);
iommu_write_reg(obj, 1, MMU_FLUSH_ENTRY);
+ break;
}
}
pm_runtime_put_sync(obj->dev);