signals: s/siginitset/sigemptyset/ in do_sigtimedwait()
[firefly-linux-kernel-4.4.55.git] / kernel / kexec.c
index c8380ad203bcd5fe8e78bf9570725730733791f0..28c57069ef681f726f2df133d36e6319d370c25f 100644 (file)
@@ -1683,6 +1683,14 @@ int kernel_kexec(void)
                kexec_in_progress = true;
                kernel_restart_prepare(NULL);
                migrate_to_reboot_cpu();
+
+               /*
+                * migrate_to_reboot_cpu() disables CPU hotplug assuming that
+                * no further code needs to use CPU hotplug (which is true in
+                * the reboot case). However, the kexec path depends on using
+                * CPU hotplug again; so re-enable it here.
+                */
+               cpu_hotplug_enable();
                printk(KERN_EMERG "Starting new kernel\n");
                machine_shutdown();
        }