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 | } |
