| .. | .. |
|---|
| 1097 | 1097 | * If this cpu is the only one alive at this point in time, online or |
|---|
| 1098 | 1098 | * not, there are no stop messages to be sent around, so just back out. |
|---|
| 1099 | 1099 | */ |
|---|
| 1100 | | - if (num_other_online_cpus() == 0) { |
|---|
| 1101 | | - sdei_mask_local_cpu(); |
|---|
| 1102 | | - return; |
|---|
| 1103 | | - } |
|---|
| 1100 | + if (num_other_online_cpus() == 0) |
|---|
| 1101 | + goto skip_ipi; |
|---|
| 1104 | 1102 | |
|---|
| 1105 | 1103 | cpumask_copy(&mask, cpu_online_mask); |
|---|
| 1106 | 1104 | cpumask_clear_cpu(smp_processor_id(), &mask); |
|---|
| .. | .. |
|---|
| 1119 | 1117 | pr_warn("SMP: failed to stop secondary CPUs %*pbl\n", |
|---|
| 1120 | 1118 | cpumask_pr_args(&mask)); |
|---|
| 1121 | 1119 | |
|---|
| 1120 | +skip_ipi: |
|---|
| 1122 | 1121 | sdei_mask_local_cpu(); |
|---|
| 1122 | + sdei_handler_abort(); |
|---|
| 1123 | 1123 | } |
|---|
| 1124 | 1124 | |
|---|
| 1125 | 1125 | bool smp_crash_stop_failed(void) |
|---|