diff options
| -rw-r--r-- | kernel/sys.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/sys.c b/kernel/sys.c index 39c9c4a2949f..0da73cf73e60 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
| @@ -324,7 +324,6 @@ void kernel_restart_prepare(char *cmd) | |||
| 324 | system_state = SYSTEM_RESTART; | 324 | system_state = SYSTEM_RESTART; |
| 325 | usermodehelper_disable(); | 325 | usermodehelper_disable(); |
| 326 | device_shutdown(); | 326 | device_shutdown(); |
| 327 | syscore_shutdown(); | ||
| 328 | } | 327 | } |
| 329 | 328 | ||
| 330 | /** | 329 | /** |
| @@ -370,6 +369,7 @@ void kernel_restart(char *cmd) | |||
| 370 | { | 369 | { |
| 371 | kernel_restart_prepare(cmd); | 370 | kernel_restart_prepare(cmd); |
| 372 | disable_nonboot_cpus(); | 371 | disable_nonboot_cpus(); |
| 372 | syscore_shutdown(); | ||
| 373 | if (!cmd) | 373 | if (!cmd) |
| 374 | printk(KERN_EMERG "Restarting system.\n"); | 374 | printk(KERN_EMERG "Restarting system.\n"); |
| 375 | else | 375 | else |
| @@ -395,6 +395,7 @@ static void kernel_shutdown_prepare(enum system_states state) | |||
| 395 | void kernel_halt(void) | 395 | void kernel_halt(void) |
| 396 | { | 396 | { |
| 397 | kernel_shutdown_prepare(SYSTEM_HALT); | 397 | kernel_shutdown_prepare(SYSTEM_HALT); |
| 398 | disable_nonboot_cpus(); | ||
| 398 | syscore_shutdown(); | 399 | syscore_shutdown(); |
| 399 | printk(KERN_EMERG "System halted.\n"); | 400 | printk(KERN_EMERG "System halted.\n"); |
| 400 | kmsg_dump(KMSG_DUMP_HALT); | 401 | kmsg_dump(KMSG_DUMP_HALT); |
