Skip to content

Commit

Permalink
sh: Use local TLB flush in set_pte_phys().
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
pmundt committed Jun 23, 2009
1 parent 2e046b9 commit 997d003
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion arch/sh/mm/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}

/*
Expand Down

0 comments on commit 997d003

Please sign in to comment.