diff options
Diffstat (limited to 'arch/arm/kernel/smp.c')
| -rw-r--r-- | arch/arm/kernel/smp.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index 2c7217d971db..ebd8ad274d76 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c @@ -179,7 +179,7 @@ void __ref cpu_die(void)  	mb();  	/* Tell __cpu_die() that this CPU is now safe to dispose of */ -	complete(&cpu_died); +	RCU_NONIDLE(complete(&cpu_died));  	/*  	 * actual CPU shutdown procedure is at least platform (if not @@ -563,7 +563,8 @@ void smp_send_stop(void)  	cpumask_copy(&mask, cpu_online_mask);  	cpumask_clear_cpu(smp_processor_id(), &mask); -	smp_cross_call(&mask, IPI_CPU_STOP); +	if (!cpumask_empty(&mask)) +		smp_cross_call(&mask, IPI_CPU_STOP);  	/* Wait up to one second for other CPUs to stop */  	timeout = USEC_PER_SEC;  |