diff options
author | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2006-10-24 04:12:41 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-25 23:26:33 -0400 |
commit | bee8ce809fb1c877388be032b468574a1cfff9ef (patch) | |
tree | 6ffcef006fa4ab2ac9d282531a86cb859f87dd93 /arch/avr32/mm/ioremap.c | |
parent | 6ea850b5eb17f6d21ac1b3d99406d213a10c64e9 (diff) |
[PATCH] AVR32: Don't try to iounmap P2 segment addresses
While ioremap() will happily map a physical address through the
P2 (uncached) segment when appropriate, iounmap() doesn't know how
to handle those mappings.
This patch makes iounmap() do the right thing, i.e. nothing, for
such mappings.
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/avr32/mm/ioremap.c')
-rw-r--r-- | arch/avr32/mm/ioremap.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/avr32/mm/ioremap.c b/arch/avr32/mm/ioremap.c index 8cfec65e37f7..3437c82434ac 100644 --- a/arch/avr32/mm/ioremap.c +++ b/arch/avr32/mm/ioremap.c | |||
@@ -77,6 +77,8 @@ void __iounmap(void __iomem *addr) | |||
77 | 77 | ||
78 | if ((unsigned long)addr >= P4SEG) | 78 | if ((unsigned long)addr >= P4SEG) |
79 | return; | 79 | return; |
80 | if (PXSEG(addr) == P2SEG) | ||
81 | return; | ||
80 | 82 | ||
81 | p = remove_vm_area((void *)(PAGE_MASK & (unsigned long __force)addr)); | 83 | p = remove_vm_area((void *)(PAGE_MASK & (unsigned long __force)addr)); |
82 | if (unlikely(!p)) { | 84 | if (unlikely(!p)) { |