diff options
Diffstat (limited to 'kernel/sys.c')
-rw-r--r-- | kernel/sys.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/sys.c b/kernel/sys.c index da24bc1292db..dac10161ca23 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
@@ -405,6 +405,7 @@ asmlinkage long sys_reboot(int magic1, int magic2, unsigned int cmd, void __user | |||
405 | case LINUX_REBOOT_CMD_HALT: | 405 | case LINUX_REBOOT_CMD_HALT: |
406 | notifier_call_chain(&reboot_notifier_list, SYS_HALT, NULL); | 406 | notifier_call_chain(&reboot_notifier_list, SYS_HALT, NULL); |
407 | system_state = SYSTEM_HALT; | 407 | system_state = SYSTEM_HALT; |
408 | device_suspend(PMSG_SUSPEND); | ||
408 | device_shutdown(); | 409 | device_shutdown(); |
409 | printk(KERN_EMERG "System halted.\n"); | 410 | printk(KERN_EMERG "System halted.\n"); |
410 | machine_halt(); | 411 | machine_halt(); |
@@ -415,6 +416,7 @@ asmlinkage long sys_reboot(int magic1, int magic2, unsigned int cmd, void __user | |||
415 | case LINUX_REBOOT_CMD_POWER_OFF: | 416 | case LINUX_REBOOT_CMD_POWER_OFF: |
416 | notifier_call_chain(&reboot_notifier_list, SYS_POWER_OFF, NULL); | 417 | notifier_call_chain(&reboot_notifier_list, SYS_POWER_OFF, NULL); |
417 | system_state = SYSTEM_POWER_OFF; | 418 | system_state = SYSTEM_POWER_OFF; |
419 | device_suspend(PMSG_SUSPEND); | ||
418 | device_shutdown(); | 420 | device_shutdown(); |
419 | printk(KERN_EMERG "Power down.\n"); | 421 | printk(KERN_EMERG "Power down.\n"); |
420 | machine_power_off(); | 422 | machine_power_off(); |
@@ -431,6 +433,7 @@ asmlinkage long sys_reboot(int magic1, int magic2, unsigned int cmd, void __user | |||
431 | 433 | ||
432 | notifier_call_chain(&reboot_notifier_list, SYS_RESTART, buffer); | 434 | notifier_call_chain(&reboot_notifier_list, SYS_RESTART, buffer); |
433 | system_state = SYSTEM_RESTART; | 435 | system_state = SYSTEM_RESTART; |
436 | device_suspend(PMSG_FREEZE); | ||
434 | device_shutdown(); | 437 | device_shutdown(); |
435 | printk(KERN_EMERG "Restarting system with command '%s'.\n", buffer); | 438 | printk(KERN_EMERG "Restarting system with command '%s'.\n", buffer); |
436 | machine_restart(buffer); | 439 | machine_restart(buffer); |