diff options
Diffstat (limited to 'arch/blackfin/mach-common/smp.c')
-rw-r--r-- | arch/blackfin/mach-common/smp.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/blackfin/mach-common/smp.c b/arch/blackfin/mach-common/smp.c index d92b168c8328..369e687582b7 100644 --- a/arch/blackfin/mach-common/smp.c +++ b/arch/blackfin/mach-common/smp.c | |||
@@ -336,13 +336,6 @@ int __cpuinit __cpu_up(unsigned int cpu) | |||
336 | 336 | ||
337 | ret = platform_boot_secondary(cpu, idle); | 337 | ret = platform_boot_secondary(cpu, idle); |
338 | 338 | ||
339 | if (ret) { | ||
340 | cpu_clear(cpu, cpu_present_map); | ||
341 | printk(KERN_CRIT "CPU%u: processor failed to boot (%d)\n", cpu, ret); | ||
342 | free_task(idle); | ||
343 | } else | ||
344 | cpu_set(cpu, cpu_online_map); | ||
345 | |||
346 | secondary_stack = NULL; | 339 | secondary_stack = NULL; |
347 | 340 | ||
348 | return ret; | 341 | return ret; |
@@ -418,9 +411,16 @@ void __cpuinit secondary_start_kernel(void) | |||
418 | 411 | ||
419 | setup_secondary(cpu); | 412 | setup_secondary(cpu); |
420 | 413 | ||
414 | platform_secondary_init(cpu); | ||
415 | |||
421 | local_irq_enable(); | 416 | local_irq_enable(); |
422 | 417 | ||
423 | platform_secondary_init(cpu); | 418 | /* |
419 | * Calibrate loops per jiffy value. | ||
420 | * IRQs need to be enabled here - D-cache can be invalidated | ||
421 | * in timer irq handler, so core B can read correct jiffies. | ||
422 | */ | ||
423 | calibrate_delay(); | ||
424 | 424 | ||
425 | cpu_idle(); | 425 | cpu_idle(); |
426 | } | 426 | } |