]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - kernel/kexec.c
Merge branch 'linus' into x86/apic
[linux-2.6-omap-h63xx.git] / kernel / kexec.c
index 795e7b67a2282d774a393bc93888539c775fc1cb..c7fd6692939d6bd03c13019996874677f296d83c 100644 (file)
@@ -1465,6 +1465,11 @@ int kernel_kexec(void)
                error = device_power_down(PMSG_FREEZE);
                if (error)
                        goto Enable_irqs;
+
+               /* Suspend system devices */
+               error = sysdev_suspend(PMSG_FREEZE);
+               if (error)
+                       goto Power_up_devices;
        } else
 #endif
        {
@@ -1477,6 +1482,8 @@ int kernel_kexec(void)
 
 #ifdef CONFIG_KEXEC_JUMP
        if (kexec_image->preserve_context) {
+               sysdev_resume();
+ Power_up_devices:
                device_power_up(PMSG_RESTORE);
  Enable_irqs:
                local_irq_enable();