[PATCH] Remove suspend() calls from shutdown path
This removes the calls to device_suspend() from the shutdown path that were added sometime during 2.6.13-rc*. They aren't working properly on a number of configs (I got reports from both ppc powerbook users and x86 users) causing the system to not shutdown anymore. I think it isn't the right approach at the moment anyway. We have already a shutdown() callback for the drivers that actually care about shutdown and the suspend() code isn't yet in a good enough shape to be so much generalized. Also, the semantics of suspend and shutdown are slightly different on a number of setups and the way this was patched in provides little way for drivers to cleanly differenciate. It should have been at least a different message. For 2.6.13, I think we should revert to 2.6.12 behaviour and have a working suspend back. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
d95a1b4818
commit
c36f19e02a
@@ -404,7 +404,6 @@ void kernel_halt(void)
|
|||||||
{
|
{
|
||||||
notifier_call_chain(&reboot_notifier_list, SYS_HALT, NULL);
|
notifier_call_chain(&reboot_notifier_list, SYS_HALT, NULL);
|
||||||
system_state = SYSTEM_HALT;
|
system_state = SYSTEM_HALT;
|
||||||
device_suspend(PMSG_SUSPEND);
|
|
||||||
device_shutdown();
|
device_shutdown();
|
||||||
printk(KERN_EMERG "System halted.\n");
|
printk(KERN_EMERG "System halted.\n");
|
||||||
machine_halt();
|
machine_halt();
|
||||||
@@ -415,7 +414,6 @@ void kernel_power_off(void)
|
|||||||
{
|
{
|
||||||
notifier_call_chain(&reboot_notifier_list, SYS_POWER_OFF, NULL);
|
notifier_call_chain(&reboot_notifier_list, SYS_POWER_OFF, NULL);
|
||||||
system_state = SYSTEM_POWER_OFF;
|
system_state = SYSTEM_POWER_OFF;
|
||||||
device_suspend(PMSG_SUSPEND);
|
|
||||||
device_shutdown();
|
device_shutdown();
|
||||||
printk(KERN_EMERG "Power down.\n");
|
printk(KERN_EMERG "Power down.\n");
|
||||||
machine_power_off();
|
machine_power_off();
|
||||||
|
Reference in New Issue
Block a user