diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2005-07-26 13:44:21 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-26 17:35:42 -0400 |
commit | 7c9a90073c75bffbb89763a0c7d44a2e44e9e628 (patch) | |
tree | e871063796c481475926d63a4087f099a1a605db /arch/x86_64 | |
parent | 4a1421f81b64e49ce932125e7222a2d7b7f87f13 (diff) |
[PATCH] x86_64: Fix reboot_force
We only want to shutdown the apics if reboot_force
is not specified. Be we are doing this both
in machine_shutdown which is called unconditionally
and if (!reboot_force). So simply call machine_shutdown
if (!reboot_force). It looks like something
went weird with merging some of the kexec patches for
x86_64, and caused this.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64')
-rw-r--r-- | arch/x86_64/kernel/reboot.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/arch/x86_64/kernel/reboot.c b/arch/x86_64/kernel/reboot.c index 0515d3266634..d4c45ff92d5c 100644 --- a/arch/x86_64/kernel/reboot.c +++ b/arch/x86_64/kernel/reboot.c | |||
@@ -115,15 +115,8 @@ void machine_restart(char * __unused) | |||
115 | 115 | ||
116 | printk("machine restart\n"); | 116 | printk("machine restart\n"); |
117 | 117 | ||
118 | machine_shutdown(); | ||
119 | |||
120 | if (!reboot_force) { | 118 | if (!reboot_force) { |
121 | local_irq_disable(); | 119 | machine_shutdown(); |
122 | #ifndef CONFIG_SMP | ||
123 | disable_local_APIC(); | ||
124 | #endif | ||
125 | disable_IO_APIC(); | ||
126 | local_irq_enable(); | ||
127 | } | 120 | } |
128 | 121 | ||
129 | /* Tell the BIOS if we want cold or warm reboot */ | 122 | /* Tell the BIOS if we want cold or warm reboot */ |