aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-bf561/smp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin/mach-bf561/smp.c')
-rw-r--r--arch/blackfin/mach-bf561/smp.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/blackfin/mach-bf561/smp.c b/arch/blackfin/mach-bf561/smp.c
index ab1c617b9cfc..c77a23bc9de3 100644
--- a/arch/blackfin/mach-bf561/smp.c
+++ b/arch/blackfin/mach-bf561/smp.c
@@ -69,7 +69,6 @@ void __cpuinit platform_secondary_init(unsigned int cpu)
69 SSYNC(); 69 SSYNC();
70 70
71 /* We are done with local CPU inits, unblock the boot CPU. */ 71 /* We are done with local CPU inits, unblock the boot CPU. */
72 set_cpu_online(cpu, true);
73 spin_lock(&boot_lock); 72 spin_lock(&boot_lock);
74 spin_unlock(&boot_lock); 73 spin_unlock(&boot_lock);
75} 74}
@@ -91,7 +90,9 @@ int __cpuinit platform_boot_secondary(unsigned int cpu, struct task_struct *idle
91 SSYNC(); 90 SSYNC();
92 } 91 }
93 92
94 timeout = jiffies + 1 * HZ; 93 timeout = jiffies + HZ;
94 /* release the lock and let coreb run */
95 spin_unlock(&boot_lock);
95 while (time_before(jiffies, timeout)) { 96 while (time_before(jiffies, timeout)) {
96 if (cpu_online(cpu)) 97 if (cpu_online(cpu))
97 break; 98 break;
@@ -100,8 +101,6 @@ int __cpuinit platform_boot_secondary(unsigned int cpu, struct task_struct *idle
100 } 101 }
101 102
102 if (cpu_online(cpu)) { 103 if (cpu_online(cpu)) {
103 /* release the lock and let coreb run */
104 spin_unlock(&boot_lock);
105 return 0; 104 return 0;
106 } else 105 } else
107 panic("CPU%u: processor failed to boot\n", cpu); 106 panic("CPU%u: processor failed to boot\n", cpu);