diff options
Diffstat (limited to 'kernel')
| -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 | } |
