From 086e05da98b777ef356ce1ce54066847118d49fa Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Sat, 2 Feb 2013 23:41:24 +0000 Subject: [PATCH] --- yaml --- r: 356311 b: refs/heads/master c: 027f27c4eca00b4411fb1fe61c33060569ff73f6 h: refs/heads/master i: 356309: 9d3bac2ce774540b8a713547fa19d3e495b0876c 356307: bb67f6456678fa720946d619542a9a2f43da702b 356303: a83c898401f113f0d909366f3ca82a79c04e2ba9 v: v3 --- [refs] | 2 +- trunk/arch/parisc/include/asm/cacheflush.h | 2 ++ trunk/arch/parisc/kernel/cache.c | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b8e00220b732..a42280280032 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b54cb2332e387f29c65f19f3620e5c812c89a328 +refs/heads/master: 027f27c4eca00b4411fb1fe61c33060569ff73f6 diff --git a/trunk/arch/parisc/include/asm/cacheflush.h b/trunk/arch/parisc/include/asm/cacheflush.h index 9f21ab0c02e3..79f694f3ad9b 100644 --- a/trunk/arch/parisc/include/asm/cacheflush.h +++ b/trunk/arch/parisc/include/asm/cacheflush.h @@ -115,7 +115,9 @@ flush_anon_page(struct vm_area_struct *vma, struct page *page, unsigned long vma { if (PageAnon(page)) { flush_tlb_page(vma, vmaddr); + preempt_disable(); flush_dcache_page_asm(page_to_phys(page), vmaddr); + preempt_enable(); } } diff --git a/trunk/arch/parisc/kernel/cache.c b/trunk/arch/parisc/kernel/cache.c index 1c61b8245650..4b12890642eb 100644 --- a/trunk/arch/parisc/kernel/cache.c +++ b/trunk/arch/parisc/kernel/cache.c @@ -267,9 +267,11 @@ static inline void __flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, unsigned long physaddr) { + preempt_disable(); flush_dcache_page_asm(physaddr, vmaddr); if (vma->vm_flags & VM_EXEC) flush_icache_page_asm(physaddr, vmaddr); + preempt_enable(); } void flush_dcache_page(struct page *page)