[PATCH] remove device_suspend calls in sys_reboot path

From: Olaf Hering
Date: Mon Aug 01 2005 - 11:25:28 EST



A recent change for 'case LINUX_REBOOT_CMD_POWER_OFF' causes an endless
hang after 'halt -p' on my Macs with USB keyboard.
It went into rc1, but the hang in an usb device (1-1.3) shows up only
with rc3. Why is device_suspend() called anyway if the
system will go down anyway in a few milliseconds?

power down works again with this patch.

Signed-off-by: Olaf Hering <olh@xxxxxxx>

kernel/sys.c | 4 +---
1 files changed, 1 insertion(+), 3 deletions(-)

Index: linux-2.6.13-rc4-git4/kernel/sys.c
===================================================================
--- linux-2.6.13-rc4-git4.orig/kernel/sys.c
+++ linux-2.6.13-rc4-git4/kernel/sys.c
@@ -392,7 +392,6 @@ void kernel_kexec(void)
}
notifier_call_chain(&reboot_notifier_list, SYS_RESTART, NULL);
system_state = SYSTEM_RESTART;
- device_suspend(PMSG_FREEZE);
device_shutdown();
printk(KERN_EMERG "Starting new kernel\n");
machine_shutdown();
@@ -405,7 +404,7 @@ void kernel_halt(void)
{
notifier_call_chain(&reboot_notifier_list, SYS_HALT, NULL);
system_state = SYSTEM_HALT;
- device_suspend(PMSG_SUSPEND);
+ device_suspend(PMSG_SUSPEND); /* FIXME */
device_shutdown();
printk(KERN_EMERG "System halted.\n");
machine_halt();
@@ -416,7 +415,6 @@ void kernel_power_off(void)
{
notifier_call_chain(&reboot_notifier_list, SYS_POWER_OFF, NULL);
system_state = SYSTEM_POWER_OFF;
- device_suspend(PMSG_SUSPEND);
device_shutdown();
printk(KERN_EMERG "Power down.\n");
machine_power_off();
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/