Просмотр исходного кода

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 16 лет назад
Родитель
Сommit
997d003093
1 измененных файлов с 1 добавлено и 1 удалено
  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));
-	flush_tlb_one(get_asid(), addr);
+	local_flush_tlb_one(get_asid(), addr);
 }
 
 /*