Messages in this thread Patch in this message | | | Date | Fri, 23 Jun 2006 20:30:59 +0200 | From | zippel@linux-m6 ... | Subject | [PATCH 03/21] fix __iounmap for 030 |
| |
Ignore empty pmd entry during iomap (these are the holes between the mappings).
Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
---
arch/m68k/mm/kmap.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
2a02d299d6158fb1cba1a2e7f0a446619db91648 diff --git a/arch/m68k/mm/kmap.c b/arch/m68k/mm/kmap.c index 85ad19a..43ffab0 100644 --- a/arch/m68k/mm/kmap.c +++ b/arch/m68k/mm/kmap.c @@ -259,13 +259,15 @@ void __iounmap(void *addr, unsigned long if (CPU_IS_020_OR_030) { int pmd_off = (virtaddr/PTRTREESIZE) & 15; + int pmd_type = pmd_dir->pmd[pmd_off] & _DESCTYPE_MASK; - if ((pmd_dir->pmd[pmd_off] & _DESCTYPE_MASK) == _PAGE_PRESENT) { + if (pmd_type == _PAGE_PRESENT) { pmd_dir->pmd[pmd_off] = 0; virtaddr += PTRTREESIZE; size -= PTRTREESIZE; continue; - } + } else if (pmd_type == 0) + continue; } if (pmd_bad(*pmd_dir)) { -- 1.3.3 --
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |