diff options
-rw-r--r-- | arch/s390/kernel/smp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index d140160c9aec..efd2c1968000 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c | |||
@@ -818,7 +818,8 @@ int __cpu_up(unsigned int cpu, struct task_struct *tidle) | |||
818 | pcpu_prepare_secondary(pcpu, cpu); | 818 | pcpu_prepare_secondary(pcpu, cpu); |
819 | pcpu_attach_task(pcpu, tidle); | 819 | pcpu_attach_task(pcpu, tidle); |
820 | pcpu_start_fn(pcpu, smp_start_secondary, NULL); | 820 | pcpu_start_fn(pcpu, smp_start_secondary, NULL); |
821 | while (!cpu_online(cpu)) | 821 | /* Wait until cpu puts itself in the online & active maps */ |
822 | while (!cpu_online(cpu) || !cpu_active(cpu)) | ||
822 | cpu_relax(); | 823 | cpu_relax(); |
823 | return 0; | 824 | return 0; |
824 | } | 825 | } |