diff options
Diffstat (limited to 'kernel/kexec.c')
-rw-r--r-- | kernel/kexec.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/kexec.c b/kernel/kexec.c index c8380ad203bc..28c57069ef68 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c | |||
@@ -1683,6 +1683,14 @@ int kernel_kexec(void) | |||
1683 | kexec_in_progress = true; | 1683 | kexec_in_progress = true; |
1684 | kernel_restart_prepare(NULL); | 1684 | kernel_restart_prepare(NULL); |
1685 | migrate_to_reboot_cpu(); | 1685 | migrate_to_reboot_cpu(); |
1686 | |||
1687 | /* | ||
1688 | * migrate_to_reboot_cpu() disables CPU hotplug assuming that | ||
1689 | * no further code needs to use CPU hotplug (which is true in | ||
1690 | * the reboot case). However, the kexec path depends on using | ||
1691 | * CPU hotplug again; so re-enable it here. | ||
1692 | */ | ||
1693 | cpu_hotplug_enable(); | ||
1686 | printk(KERN_EMERG "Starting new kernel\n"); | 1694 | printk(KERN_EMERG "Starting new kernel\n"); |
1687 | machine_shutdown(); | 1695 | machine_shutdown(); |
1688 | } | 1696 | } |