aboutsummaryrefslogtreecommitdiffstats
path: root/arch/avr32/mm
diff options
context:
space:
mode:
authorHaavard Skinnemoen <hskinnemoen@atmel.com>2007-03-01 10:32:31 -0500
committerHaavard Skinnemoen <hskinnemoen@atmel.com>2007-03-07 04:50:29 -0500
commit28c1d39db83357bad55e3482fe09386429728ded (patch)
treeed553a55256ea722604ca297a24174bd212d1f23 /arch/avr32/mm
parenta19b4a14053f24e2df93b6bcc72ed1086cce0de4 (diff)
[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 fb13f72e9a0..8f7b1c3cd0f 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)
121void flush_icache_page(struct vm_area_struct *vma, struct page *page) 121void flush_icache_page(struct vm_area_struct *vma, struct page *page)
122{ 122{
123 if (vma->vm_flags & VM_EXEC) { 123 if (vma->vm_flags & VM_EXEC) {
124 void *v = kmap(page); 124 void *v = page_address(page);
125 __flush_icache_range((unsigned long)v, (unsigned long)v + PAGE_SIZE); 125 __flush_icache_range((unsigned long)v, (unsigned long)v + PAGE_SIZE);
126 kunmap(v);
127 } 126 }
128} 127}
129 128