diff options
author | Hiroshi DOYU <Hiroshi.DOYU@nokia.com> | 2010-02-15 13:03:32 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-02-15 13:03:32 -0500 |
commit | 8d33ea5881bce56f85de7fcc90e1c5618fa5b62d (patch) | |
tree | 9b9e409ac2932bf9c5a920db4dd492782473338d | |
parent | 97ec7d585b33bbcc2be92dafa05b540959b4ea47 (diff) |
omap: iommu: fix incorrect address for supersection 1st entry
There was a potential risk that the following "memset" could override
its range if a given address was not the 1st entry of a
supersection. This is not the case for "iovmm".
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Hari Nagalla <hnagalla@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r-- | arch/arm/plat-omap/iommu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/plat-omap/iommu.c b/arch/arm/plat-omap/iommu.c index 463d6386aff2..e74811920668 100644 --- a/arch/arm/plat-omap/iommu.c +++ b/arch/arm/plat-omap/iommu.c | |||
@@ -667,7 +667,7 @@ static size_t iopgtable_clear_entry_core(struct iommu *obj, u32 da) | |||
667 | if ((*iopgd & IOPGD_SUPER) == IOPGD_SUPER) { | 667 | if ((*iopgd & IOPGD_SUPER) == IOPGD_SUPER) { |
668 | nent *= 16; | 668 | nent *= 16; |
669 | /* rewind to the 1st entry */ | 669 | /* rewind to the 1st entry */ |
670 | iopgd = (u32 *)((u32)iopgd & IOSUPER_MASK); | 670 | iopgd = iopgd_offset(obj, (da & IOSUPER_MASK)); |
671 | } | 671 | } |
672 | bytes *= nent; | 672 | bytes *= nent; |
673 | } | 673 | } |