aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sys.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sys.c')
-rw-r--r--kernel/sys.c3
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);