diff options
| author | John W. Linville <linville@tuxdriver.com> | 2006-03-15 17:02:08 -0500 |
|---|---|---|
| committer | John W. Linville <linville@tuxdriver.com> | 2006-03-15 17:02:08 -0500 |
| commit | dd288e7d75b9041f79fecae77d61cfa345da7266 (patch) | |
| tree | 85ff1d1ea0fe1d6eae0b6819422d5c6c05f862cd /arch/i386/kernel/apic.c | |
| parent | 30dcbf29cc6d92d70fa262e79e84011fe6913bed (diff) | |
| parent | 72df16f109b73be37977a26d342e9103e8851cb6 (diff) | |
Merge branch 'upstream-fixes'
Diffstat (limited to 'arch/i386/kernel/apic.c')
| -rw-r--r-- | arch/i386/kernel/apic.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/i386/kernel/apic.c b/arch/i386/kernel/apic.c index f39e09ef64ec..776c90989e06 100644 --- a/arch/i386/kernel/apic.c +++ b/arch/i386/kernel/apic.c | |||
| @@ -570,16 +570,18 @@ void __devinit setup_local_APIC(void) | |||
| 570 | */ | 570 | */ |
| 571 | void lapic_shutdown(void) | 571 | void lapic_shutdown(void) |
| 572 | { | 572 | { |
| 573 | unsigned long flags; | ||
| 574 | |||
| 573 | if (!cpu_has_apic) | 575 | if (!cpu_has_apic) |
| 574 | return; | 576 | return; |
| 575 | 577 | ||
| 576 | local_irq_disable(); | 578 | local_irq_save(flags); |
| 577 | clear_local_APIC(); | 579 | clear_local_APIC(); |
| 578 | 580 | ||
| 579 | if (enabled_via_apicbase) | 581 | if (enabled_via_apicbase) |
| 580 | disable_local_APIC(); | 582 | disable_local_APIC(); |
| 581 | 583 | ||
| 582 | local_irq_enable(); | 584 | local_irq_restore(flags); |
| 583 | } | 585 | } |
| 584 | 586 | ||
| 585 | #ifdef CONFIG_PM | 587 | #ifdef CONFIG_PM |
