aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/flush.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2011-01-05 14:22:08 +0100
committerIngo Molnar <mingo@elte.hu>2011-01-05 14:22:10 +0100
commitaef1b9cef78ae65c6501850851cc3f61f9be477b (patch)
tree9769972983e84620df17c13b73f70a8341c4b125 /arch/arm/mm/flush.c
parent20c457b8587bee4644d998331d9e13be82e05b4c (diff)
parent3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5 (diff)
downloadkernel_samsung_espresso10-aef1b9cef78ae65c6501850851cc3f61f9be477b.zip
kernel_samsung_espresso10-aef1b9cef78ae65c6501850851cc3f61f9be477b.tar.gz
kernel_samsung_espresso10-aef1b9cef78ae65c6501850851cc3f61f9be477b.tar.bz2
Merge commit 'v2.6.37' into perf/core
Merge reason: Add the final .37 tree. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/arm/mm/flush.c')
-rw-r--r--arch/arm/mm/flush.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c
index 391ffae..c29f283 100644
--- a/arch/arm/mm/flush.c
+++ b/arch/arm/mm/flush.c
@@ -10,6 +10,7 @@
#include <linux/module.h>
#include <linux/mm.h>
#include <linux/pagemap.h>
+#include <linux/highmem.h>
#include <asm/cacheflush.h>
#include <asm/cachetype.h>
@@ -180,10 +181,10 @@ void __flush_dcache_page(struct address_space *mapping, struct page *page)
__cpuc_flush_dcache_area(addr, PAGE_SIZE);
kunmap_high(page);
} else if (cache_is_vipt()) {
- pte_t saved_pte;
- addr = kmap_high_l1_vipt(page, &saved_pte);
+ /* unmapped pages might still be cached */
+ addr = kmap_atomic(page);
__cpuc_flush_dcache_area(addr, PAGE_SIZE);
- kunmap_high_l1_vipt(page, saved_pte);
+ kunmap_atomic(addr);
}
}