diff options
Diffstat (limited to 'arch/blackfin')
-rw-r--r-- | arch/blackfin/mach-common/smp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/blackfin/mach-common/smp.c b/arch/blackfin/mach-common/smp.c index a40151306b77..bb61ae4986e4 100644 --- a/arch/blackfin/mach-common/smp.c +++ b/arch/blackfin/mach-common/smp.c | |||
@@ -146,7 +146,7 @@ static irqreturn_t ipi_handler_int1(int irq, void *dev_instance) | |||
146 | platform_clear_ipi(cpu, IRQ_SUPPLE_1); | 146 | platform_clear_ipi(cpu, IRQ_SUPPLE_1); |
147 | 147 | ||
148 | bfin_ipi_data = &__get_cpu_var(bfin_ipi); | 148 | bfin_ipi_data = &__get_cpu_var(bfin_ipi); |
149 | 149 | smp_mb(); | |
150 | while ((pending = xchg(&bfin_ipi_data->bits, 0)) != 0) { | 150 | while ((pending = xchg(&bfin_ipi_data->bits, 0)) != 0) { |
151 | msg = 0; | 151 | msg = 0; |
152 | do { | 152 | do { |
@@ -195,7 +195,7 @@ void send_ipi(const struct cpumask *cpumask, enum ipi_message_type msg) | |||
195 | unsigned long flags; | 195 | unsigned long flags; |
196 | 196 | ||
197 | local_irq_save(flags); | 197 | local_irq_save(flags); |
198 | 198 | smp_mb(); | |
199 | for_each_cpu(cpu, cpumask) { | 199 | for_each_cpu(cpu, cpumask) { |
200 | bfin_ipi_data = &per_cpu(bfin_ipi, cpu); | 200 | bfin_ipi_data = &per_cpu(bfin_ipi, cpu); |
201 | smp_mb(); | 201 | smp_mb(); |