summaryrefslogtreecommitdiffstats
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
parent2e046b9487dcc60707cac77fb8f744ec830209cd (diff)
downloadop-kernel-dev-997d0030934f7722d81e5b1cdd7af85ac7ed960b.zip
op-kernel-dev-997d0030934f7722d81e5b1cdd7af85ac7ed960b.tar.gz
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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
index ee8e6bb..d1be042 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);
}
/*
OpenPOWER on IntegriCloud