diff options
author | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2007-03-01 10:32:31 -0500 |
---|---|---|
committer | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2007-03-07 04:50:29 -0500 |
commit | 28c1d39db83357bad55e3482fe09386429728ded (patch) | |
tree | ed553a55256ea722604ca297a24174bd212d1f23 /arch/avr32/mm | |
parent | a19b4a14053f24e2df93b6bcc72ed1086cce0de4 (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.c | 3 |
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) | |||
121 | void flush_icache_page(struct vm_area_struct *vma, struct page *page) | 121 | void 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 | ||