Commit 28c1d39d authored by Haavard Skinnemoen's avatar Haavard Skinnemoen

[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: default avatarHaavard Skinnemoen <hskinnemoen@atmel.com>
parent a19b4a14
...@@ -121,9 +121,8 @@ void flush_icache_range(unsigned long start, unsigned long end) ...@@ -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) void flush_icache_page(struct vm_area_struct *vma, struct page *page)
{ {
if (vma->vm_flags & VM_EXEC) { 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); __flush_icache_range((unsigned long)v, (unsigned long)v + PAGE_SIZE);
kunmap(v);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment