diff options
Diffstat (limited to 'arch/arm64/kernel/smp.c')
| -rw-r--r-- | arch/arm64/kernel/smp.c | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c index edd63894d61e..960b98b43506 100644 --- a/arch/arm64/kernel/smp.c +++ b/arch/arm64/kernel/smp.c @@ -1044,10 +1044,8 @@ void crash_smp_send_stop(void)  	 * If this cpu is the only one alive at this point in time, online or  	 * not, there are no stop messages to be sent around, so just back out.  	 */ -	if (num_other_online_cpus() == 0) { -		sdei_mask_local_cpu(); -		return; -	} +	if (num_other_online_cpus() == 0) +		goto skip_ipi;  	cpumask_copy(&mask, cpu_online_mask);  	cpumask_clear_cpu(smp_processor_id(), &mask); @@ -1066,7 +1064,9 @@ void crash_smp_send_stop(void)  		pr_warn("SMP: failed to stop secondary CPUs %*pbl\n",  			cpumask_pr_args(&mask)); +skip_ipi:  	sdei_mask_local_cpu(); +	sdei_handler_abort();  }  bool smp_crash_stop_failed(void)  | 
