diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-03-04 16:47:30 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-03-04 16:47:30 +0900 |
commit | b07f6b327e798610bebaa581ffb7a226f3bcb96b (patch) | |
tree | 36bde0b8a002aa0681cd997dee84e7590a5d0193 /arch/sh | |
parent | 281983d6ff2674ca2e4868de628c65809d84fa4c (diff) | |
download | op-kernel-dev-b07f6b327e798610bebaa581ffb7a226f3bcb96b.zip op-kernel-dev-b07f6b327e798610bebaa581ffb7a226f3bcb96b.tar.gz |
sh: Fix up flush_cache_vmap() on SMP.
flush_cache_all() uses broadcast IPIs, so we can't wrap in to that when
IRQs are disabled. The local cache flush manages to do what we need here
anyways, so just switch to that.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/include/asm/cacheflush.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sh/include/asm/cacheflush.h b/arch/sh/include/asm/cacheflush.h index da3ebec..1f4e562 100644 --- a/arch/sh/include/asm/cacheflush.h +++ b/arch/sh/include/asm/cacheflush.h @@ -86,8 +86,8 @@ extern void copy_from_user_page(struct vm_area_struct *vma, struct page *page, unsigned long vaddr, void *dst, const void *src, unsigned long len); -#define flush_cache_vmap(start, end) flush_cache_all() -#define flush_cache_vunmap(start, end) flush_cache_all() +#define flush_cache_vmap(start, end) local_flush_cache_all(NULL) +#define flush_cache_vunmap(start, end) local_flush_cache_all(NULL) #define flush_dcache_mmap_lock(mapping) do { } while (0) #define flush_dcache_mmap_unlock(mapping) do { } while (0) |