From 3b7ccdf6b5531d94a404480afd583b70a3ed0c7d Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Sun, 30 Apr 2006 22:54:27 -0700 Subject: [PATCH] --- yaml --- r: 26365 b: refs/heads/master c: c9f2946fbec88d4baa3a6d47eb3a8e6b08b05cd9 h: refs/heads/master i: 26363: 5102bf7fc5ecd2dad34c1e6dc6b668b7152ecbf3 v: v3 --- [refs] | 2 +- trunk/arch/sparc64/mm/tlb.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 6ce8bf29f83b..600d15d9d20c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1241140f5183db38393556832198a3b109bf9085 +refs/heads/master: c9f2946fbec88d4baa3a6d47eb3a8e6b08b05cd9 diff --git a/trunk/arch/sparc64/mm/tlb.c b/trunk/arch/sparc64/mm/tlb.c index a079cf42505e..3f10fc921b00 100644 --- a/trunk/arch/sparc64/mm/tlb.c +++ b/trunk/arch/sparc64/mm/tlb.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -24,6 +25,8 @@ void flush_tlb_pending(void) { struct mmu_gather *mp = &__get_cpu_var(mmu_gathers); + preempt_disable(); + if (mp->tlb_nr) { flush_tsb_user(mp); @@ -38,6 +41,8 @@ void flush_tlb_pending(void) } mp->tlb_nr = 0; } + + preempt_enable(); } void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, pte_t *ptep, pte_t orig)