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>
This commit is contained in:
parent
9da65a99e5
commit
dcc730dc9d
1 changed files with 1 additions and 1 deletions
|
@ -664,7 +664,7 @@ static size_t iopgtable_clear_entry_core(struct iommu *obj, u32 da)
|
||||||
nent = 1; /* for the next L1 entry */
|
nent = 1; /* for the next L1 entry */
|
||||||
} else {
|
} else {
|
||||||
bytes = IOPGD_SIZE;
|
bytes = IOPGD_SIZE;
|
||||||
if (*iopgd & IOPGD_SUPER) {
|
if ((*iopgd & IOPGD_SUPER) == IOPGD_SUPER) {
|
||||||
nent *= 16;
|
nent *= 16;
|
||||||
/* rewind to the 1st entry */
|
/* rewind to the 1st entry */
|
||||||
iopgd = (u32 *)((u32)iopgd & IOSUPER_MASK);
|
iopgd = (u32 *)((u32)iopgd & IOSUPER_MASK);
|
||||||
|
|
Loading…
Reference in a new issue