diff options
Diffstat (limited to 'kernel/stop_machine.c')
| -rw-r--r-- | kernel/stop_machine.c | 2 | 
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c index b4f83f7bdf86..c7031a22aa7b 100644 --- a/kernel/stop_machine.c +++ b/kernel/stop_machine.c @@ -383,6 +383,7 @@ static bool queue_stop_cpus_work(const struct cpumask *cpumask,  	 */  	preempt_disable();  	stop_cpus_in_progress = true; +	barrier();  	for_each_cpu(cpu, cpumask) {  		work = &per_cpu(cpu_stopper.stop_work, cpu);  		work->fn = fn; @@ -391,6 +392,7 @@ static bool queue_stop_cpus_work(const struct cpumask *cpumask,  		if (cpu_stop_queue_work(cpu, work))  			queued = true;  	} +	barrier();  	stop_cpus_in_progress = false;  	preempt_enable();  |