diff options
Diffstat (limited to 'kernel/kexec.c')
| -rw-r--r-- | kernel/kexec.c | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/kernel/kexec.c b/kernel/kexec.c index 8a6d7b08864e..483899578259 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c | |||
| @@ -1465,6 +1465,11 @@ int kernel_kexec(void) | |||
| 1465 | error = device_power_down(PMSG_FREEZE); | 1465 | error = device_power_down(PMSG_FREEZE); | 
| 1466 | if (error) | 1466 | if (error) | 
| 1467 | goto Enable_irqs; | 1467 | goto Enable_irqs; | 
| 1468 | |||
| 1469 | /* Suspend system devices */ | ||
| 1470 | error = sysdev_suspend(PMSG_FREEZE); | ||
| 1471 | if (error) | ||
| 1472 | goto Power_up_devices; | ||
| 1468 | } else | 1473 | } else | 
| 1469 | #endif | 1474 | #endif | 
| 1470 | { | 1475 | { | 
| @@ -1477,6 +1482,8 @@ int kernel_kexec(void) | |||
| 1477 | 1482 | ||
| 1478 | #ifdef CONFIG_KEXEC_JUMP | 1483 | #ifdef CONFIG_KEXEC_JUMP | 
| 1479 | if (kexec_image->preserve_context) { | 1484 | if (kexec_image->preserve_context) { | 
| 1485 | sysdev_resume(); | ||
| 1486 | Power_up_devices: | ||
| 1480 | device_power_up(PMSG_RESTORE); | 1487 | device_power_up(PMSG_RESTORE); | 
| 1481 | Enable_irqs: | 1488 | Enable_irqs: | 
| 1482 | local_irq_enable(); | 1489 | local_irq_enable(); | 
