powerpc: Fixes for 32-bit powermac SMP
A couple of bugs crept in with the merge of smp.c... Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
@@ -369,11 +369,11 @@ int generic_cpu_disable(void)
|
||||
if (cpu == boot_cpuid)
|
||||
return -EBUSY;
|
||||
|
||||
cpu_clear(cpu, cpu_online_map);
|
||||
#ifdef CONFIG_PPC64
|
||||
_systemcfg->processorCount--;
|
||||
#endif
|
||||
cpu_clear(cpu, cpu_online_map);
|
||||
fixup_irqs(cpu_online_map);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -391,9 +391,11 @@ int generic_cpu_enable(unsigned int cpu)
|
||||
while (!cpu_online(cpu))
|
||||
cpu_relax();
|
||||
|
||||
#ifdef CONFIG_PPC64
|
||||
fixup_irqs(cpu_online_map);
|
||||
/* counter the irq disable in fixup_irqs */
|
||||
local_irq_enable();
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -422,7 +424,9 @@ void generic_mach_cpu_die(void)
|
||||
while (__get_cpu_var(cpu_state) != CPU_UP_PREPARE)
|
||||
cpu_relax();
|
||||
|
||||
#ifdef CONFIG_PPC64
|
||||
flush_tlb_pending();
|
||||
#endif
|
||||
cpu_set(cpu, cpu_online_map);
|
||||
local_irq_enable();
|
||||
}
|
||||
|
Reference in New Issue
Block a user