Explorar o código

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>
Paul Mundt %!s(int64=16) %!d(string=hai) anos
pai
achega
997d003093
Modificáronse 1 ficheiros con 1 adicións e 1 borrados
  1. 1 1
      arch/sh/mm/init.c

+ 1 - 1
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));
 	set_pte(pte, pfn_pte(phys >> PAGE_SHIFT, prot));
-	flush_tlb_one(get_asid(), addr);
+	local_flush_tlb_one(get_asid(), addr);
 }
 }
 
 
 /*
 /*