diff options
-rw-r--r-- | kernel/up.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/up.c b/kernel/up.c index 144e57255234..b1cf036255f3 100644 --- a/kernel/up.c +++ b/kernel/up.c | |||
@@ -10,11 +10,13 @@ | |||
10 | int smp_call_function_single(int cpu, void (*func) (void *info), void *info, | 10 | int smp_call_function_single(int cpu, void (*func) (void *info), void *info, |
11 | int wait) | 11 | int wait) |
12 | { | 12 | { |
13 | unsigned long flags; | ||
14 | |||
13 | WARN_ON(cpu != 0); | 15 | WARN_ON(cpu != 0); |
14 | 16 | ||
15 | local_irq_disable(); | 17 | local_irq_save(flags); |
16 | (func)(info); | 18 | func(info); |
17 | local_irq_enable(); | 19 | local_irq_restore(flags); |
18 | 20 | ||
19 | return 0; | 21 | return 0; |
20 | } | 22 | } |