X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=kernel%2Fkexec.c;h=c7fd6692939d6bd03c13019996874677f296d83c;hb=fc6fc7f1b1095b92d4834e69b385b91e412a7ce5;hp=795e7b67a2282d774a393bc93888539c775fc1cb;hpb=ef1f87aa7ba6224bef1b750b3272ba281d8f43ed;p=android-x86%2Fkernel.git diff --git a/kernel/kexec.c b/kernel/kexec.c index 795e7b67a228..c7fd6692939d 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c @@ -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();