aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorHiroshi DOYU <Hiroshi.DOYU@nokia.com>2009-10-22 14:46:32 -0700
committerTony Lindgren <tony@atomide.com>2009-10-22 14:46:32 -0700
commitdcc730dc9d7614fdaf6bce73d6e8ffe47c8820b1 (patch)
tree2849196332e34b47ef91a528e8769ee1e8ae264d /arch
parentomap: SDMA: Fix omap_stop_dma() API for channel linking (diff)
downloadlinux-dev-dcc730dc9d7614fdaf6bce73d6e8ffe47c8820b1.tar.xz
linux-dev-dcc730dc9d7614fdaf6bce73d6e8ffe47c8820b1.zip
omap: iommu: fix wrong condition check for SUPERSECTION
A bit (2 << 0) is set both on SECTION and SUPERSECTION. To identify SUPERSECTION correctly, other bits should be compared too. Reported-by: "Srinivas Pulukuru" <srinivas.pulukuru@ti.com> Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/plat-omap/iommu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/plat-omap/iommu.c b/arch/arm/plat-omap/iommu.c
index 4b6012707307..94584f167a82 100644
--- a/arch/arm/plat-omap/iommu.c
+++ b/arch/arm/plat-omap/iommu.c
@@ -664,7 +664,7 @@ static size_t iopgtable_clear_entry_core(struct iommu *obj, u32 da)
nent = 1; /* for the next L1 entry */
} else {
bytes = IOPGD_SIZE;
- if (*iopgd & IOPGD_SUPER) {
+ if ((*iopgd & IOPGD_SUPER) == IOPGD_SUPER) {
nent *= 16;
/* rewind to the 1st entry */
iopgd = (u32 *)((u32)iopgd & IOSUPER_MASK);