When we fail to bring a secondary CPU online and it fails in an unknown state, we should assume the worst and increment 'cpus_stuck_in_kernel' so that things like kexec() are disabled.
Unified · Split
| @@ -147,6 +147,7 @@ int __cpu_up(unsigned int cpu, struct task_struct *idle) · 146 unmodified lines | |||
| 147 | default: | 147 | default: |
| 148 | pr_err("CPU%u: failed in unknown state : 0x%lx\n", | 148 | pr_err("CPU%u: failed in unknown state : 0x%lx\n", |
| 149 | cpu, status); | 149 | cpu, status); |
| 150 | cpus_stuck_in_kernel++; | ||
| 150 | break; | 151 | break; |
| 151 | case CPU_KILL_ME: | 152 | case CPU_KILL_ME: |
| 152 | if (!op_cpu_kill(cpu)) { | 153 | if (!op_cpu_kill(cpu)) { |