diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-06-19 15:37:11 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-06-23 17:30:17 +0900 |
commit | 997d0030934f7722d81e5b1cdd7af85ac7ed960b (patch) | |
tree | 29ea0485adca5fafd0e89367457205f9b384fb96 | |
parent | 2e046b9487dcc60707cac77fb8f744ec830209cd (diff) | |
download | linux-997d0030934f7722d81e5b1cdd7af85ac7ed960b.tar.gz linux-997d0030934f7722d81e5b1cdd7af85ac7ed960b.tar.bz2 linux-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>
-rw-r--r-- | arch/sh/mm/init.c | 2 |
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); } /* |