summaryrefslogtreecommitdiffstats
path: root/arch/avr32/mm
diff options
context:
space:
mode:
authorHaavard Skinnemoen <hskinnemoen@atmel.com>2007-03-01 16:32:31 +0100
committerHaavard Skinnemoen <hskinnemoen@atmel.com>2007-03-07 10:50:29 +0100
commit28c1d39db83357bad55e3482fe09386429728ded (patch)
treeed553a55256ea722604ca297a24174bd212d1f23 /arch/avr32/mm
parenta19b4a14053f24e2df93b6bcc72ed1086cce0de4 (diff)
downloadlinux-28c1d39db83357bad55e3482fe09386429728ded.tar.gz
linux-28c1d39db83357bad55e3482fe09386429728ded.tar.bz2
linux-28c1d39db83357bad55e3482fe09386429728ded.zip
[AVR32] Don't use kmap() in flush_icache_page()
flush_icache_page() can be called from atomic context, so we can't use kmap(). Use page_address() instead. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Diffstat (limited to 'arch/avr32/mm')
-rw-r--r--arch/avr32/mm/cache.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/avr32/mm/cache.c b/arch/avr32/mm/cache.c
index fb13f72e9a02..8f7b1c3cd0f9 100644
--- a/arch/avr32/mm/cache.c
+++ b/arch/avr32/mm/cache.c
@@ -121,9 +121,8 @@ void flush_icache_range(unsigned long start, unsigned long end)
void flush_icache_page(struct vm_area_struct *vma, struct page *page)
{
if (vma->vm_flags & VM_EXEC) {
- void *v = kmap(page);
+ void *v = page_address(page);
__flush_icache_range((unsigned long)v, (unsigned long)v + PAGE_SIZE);
- kunmap(v);
}
}