up.c: use local_irq_{save,restore}() in smp_call_function_single.

The SMP version of this function doesn't unconditionally enable irqs, so
neither should this !SMP version.  There are no know problems caused by
this, but we make the change for consistency's sake.

Signed-off-by: David Daney <david.daney@cavium.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
David Daney 2013-09-11 14:23:25 -07:00 committed by Linus Torvalds
parent fa688207c9
commit 081192b25c

View file

@ -10,11 +10,13 @@
int smp_call_function_single(int cpu, void (*func) (void *info), void *info, int smp_call_function_single(int cpu, void (*func) (void *info), void *info,
int wait) int wait)
{ {
unsigned long flags;
WARN_ON(cpu != 0); WARN_ON(cpu != 0);
local_irq_disable(); local_irq_save(flags);
(func)(info); func(info);
local_irq_enable(); local_irq_restore(flags);
return 0; return 0;
} }