diff options
Diffstat (limited to 'kernel/sys.c')
-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 f9492284e5d2..c5cb5b99cb81 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
@@ -368,6 +368,7 @@ EXPORT_SYMBOL(unregister_reboot_notifier); | |||
368 | void kernel_restart(char *cmd) | 368 | void kernel_restart(char *cmd) |
369 | { | 369 | { |
370 | kernel_restart_prepare(cmd); | 370 | kernel_restart_prepare(cmd); |
371 | disable_nonboot_cpus(); | ||
371 | if (!cmd) | 372 | if (!cmd) |
372 | printk(KERN_EMERG "Restarting system.\n"); | 373 | printk(KERN_EMERG "Restarting system.\n"); |
373 | else | 374 | else |
@@ -2204,7 +2205,7 @@ static int __orderly_poweroff(void) | |||
2204 | return -ENOMEM; | 2205 | return -ENOMEM; |
2205 | } | 2206 | } |
2206 | 2207 | ||
2207 | ret = call_usermodehelper_fns(argv[0], argv, envp, UMH_NO_WAIT, | 2208 | ret = call_usermodehelper_fns(argv[0], argv, envp, UMH_WAIT_EXEC, |
2208 | NULL, argv_cleanup, NULL); | 2209 | NULL, argv_cleanup, NULL); |
2209 | if (ret == -ENOMEM) | 2210 | if (ret == -ENOMEM) |
2210 | argv_free(argv); | 2211 | argv_free(argv); |