diff options
| -rw-r--r-- | arch/x86/kernel/irq_64.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/arch/x86/kernel/irq_64.c b/arch/x86/kernel/irq_64.c index 6383d50f82ea..63c88e6ec025 100644 --- a/arch/x86/kernel/irq_64.c +++ b/arch/x86/kernel/irq_64.c | |||
| @@ -14,10 +14,10 @@ | |||
| 14 | #include <linux/module.h> | 14 | #include <linux/module.h> |
| 15 | #include <linux/delay.h> | 15 | #include <linux/delay.h> |
| 16 | #include <linux/ftrace.h> | 16 | #include <linux/ftrace.h> |
| 17 | #include <asm/uaccess.h> | 17 | #include <linux/uaccess.h> |
| 18 | #include <linux/smp.h> | ||
| 18 | #include <asm/io_apic.h> | 19 | #include <asm/io_apic.h> |
| 19 | #include <asm/idle.h> | 20 | #include <asm/idle.h> |
| 20 | #include <asm/smp.h> | ||
| 21 | 21 | ||
| 22 | /* | 22 | /* |
| 23 | * Probabilistic stack overflow check: | 23 | * Probabilistic stack overflow check: |
| @@ -142,18 +142,18 @@ extern void call_softirq(void); | |||
| 142 | 142 | ||
| 143 | asmlinkage void do_softirq(void) | 143 | asmlinkage void do_softirq(void) |
| 144 | { | 144 | { |
| 145 | __u32 pending; | 145 | __u32 pending; |
| 146 | unsigned long flags; | 146 | unsigned long flags; |
| 147 | 147 | ||
| 148 | if (in_interrupt()) | 148 | if (in_interrupt()) |
| 149 | return; | 149 | return; |
| 150 | 150 | ||
| 151 | local_irq_save(flags); | 151 | local_irq_save(flags); |
| 152 | pending = local_softirq_pending(); | 152 | pending = local_softirq_pending(); |
| 153 | /* Switch to interrupt stack */ | 153 | /* Switch to interrupt stack */ |
| 154 | if (pending) { | 154 | if (pending) { |
| 155 | call_softirq(); | 155 | call_softirq(); |
| 156 | WARN_ON_ONCE(softirq_count()); | 156 | WARN_ON_ONCE(softirq_count()); |
| 157 | } | 157 | } |
| 158 | local_irq_restore(flags); | 158 | local_irq_restore(flags); |
| 159 | } | 159 | } |
