aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/mm
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-06-19 15:37:11 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-06-23 17:30:17 +0900
commit997d0030934f7722d81e5b1cdd7af85ac7ed960b (patch)
tree29ea0485adca5fafd0e89367457205f9b384fb96 /arch/sh/mm
parentsh: Provide cpu_idle_wait() to fix up cpuidle/SMP build. (diff)
downloadlinux-dev-997d0030934f7722d81e5b1cdd7af85ac7ed960b.tar.xz
linux-dev-997d0030934f7722d81e5b1cdd7af85ac7ed960b.zip
sh: Use local TLB flush in set_pte_phys().
set_pte_phys() presently uses the global flush_tlb_one(), which locks on SMP trying to do the IPI. As we have not even initialized the other CPUs at this point, switch to the local_ variant so the flush happens on the boot CPU. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/mm')
-rw-r--r--arch/sh/mm/init.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
index ee8e6bbe882c..d1be04204219 100644
--- a/arch/sh/mm/init.c
+++ b/arch/sh/mm/init.c
@@ -70,7 +70,7 @@ static void set_pte_phys(unsigned long addr, unsigned long phys, pgprot_t prot)
}
set_pte(pte, pfn_pte(phys >> PAGE_SHIFT, prot));
- flush_tlb_one(get_asid(), addr);
+ local_flush_tlb_one(get_asid(), addr);
}
/*