diff options
author | Joerg Roedel <joro@8bytes.org> | 2012-09-26 06:44:34 -0400 |
---|---|---|
committer | Joerg Roedel <joro@8bytes.org> | 2013-01-28 04:48:29 -0500 |
commit | 336224ba5e4fb42a95d02ab0aa0fdff21649bb38 (patch) | |
tree | f8ddb7c1df9f34b71d284cb5c1b7a7657974c834 /arch/x86/kernel/apic | |
parent | 70733e0c7ed22177e2cfe660fa2a0e90f1f39126 (diff) |
x86, apic: Mask IO-APIC and PIC unconditionally on LAPIC resume
IO-APIC and PIC use the same resume routines when IRQ
remapping is enabled or disabled. So it should be safe to
mask the other APICs for the IRQ-remapping-disabled case
too.
Signed-off-by: Joerg Roedel <joro@8bytes.org>
Acked-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'arch/x86/kernel/apic')
-rw-r--r-- | arch/x86/kernel/apic/apic.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c index 8d741e65ff64..a5b4dce1b7ac 100644 --- a/arch/x86/kernel/apic/apic.c +++ b/arch/x86/kernel/apic/apic.c | |||
@@ -2266,16 +2266,15 @@ static void lapic_resume(void) | |||
2266 | return; | 2266 | return; |
2267 | 2267 | ||
2268 | local_irq_save(flags); | 2268 | local_irq_save(flags); |
2269 | if (irq_remapping_enabled) { | 2269 | |
2270 | /* | 2270 | /* |
2271 | * IO-APIC and PIC have their own resume routines. | 2271 | * IO-APIC and PIC have their own resume routines. |
2272 | * We just mask them here to make sure the interrupt | 2272 | * We just mask them here to make sure the interrupt |
2273 | * subsystem is completely quiet while we enable x2apic | 2273 | * subsystem is completely quiet while we enable x2apic |
2274 | * and interrupt-remapping. | 2274 | * and interrupt-remapping. |
2275 | */ | 2275 | */ |
2276 | mask_ioapic_entries(); | 2276 | mask_ioapic_entries(); |
2277 | legacy_pic->mask_all(); | 2277 | legacy_pic->mask_all(); |
2278 | } | ||
2279 | 2278 | ||
2280 | if (x2apic_mode) | 2279 | if (x2apic_mode) |
2281 | enable_x2apic(); | 2280 | enable_x2apic(); |