aboutsummaryrefslogtreecommitdiffstats
path: root/arch
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
parenta19b4a14053f24e2df93b6bcc72ed1086cce0de4 (diff)
downloadkernel_samsung_smdk4412-28c1d39db83357bad55e3482fe09386429728ded.zip
kernel_samsung_smdk4412-28c1d39db83357bad55e3482fe09386429728ded.tar.gz
kernel_samsung_smdk4412-28c1d39db83357bad55e3482fe09386429728ded.tar.bz2
[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')
-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 fb13f72..8f7b1c3 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);
}
}