diff options
Diffstat (limited to 'kernel/kexec.c')
-rw-r--r-- | kernel/kexec.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/kexec.c b/kernel/kexec.c index e4983770913b..5a3da87adae0 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c | |||
@@ -1452,13 +1452,13 @@ int kernel_kexec(void) | |||
1452 | if (error) | 1452 | if (error) |
1453 | goto Resume_console; | 1453 | goto Resume_console; |
1454 | /* At this point, device_suspend() has been called, | 1454 | /* At this point, device_suspend() has been called, |
1455 | * but *not* device_power_down(). We *must* | 1455 | * but *not* device_suspend_noirq(). We *must* call |
1456 | * device_power_down() now. Otherwise, drivers for | 1456 | * device_suspend_noirq() now. Otherwise, drivers for |
1457 | * some devices (e.g. interrupt controllers) become | 1457 | * some devices (e.g. interrupt controllers) become |
1458 | * desynchronized with the actual state of the | 1458 | * desynchronized with the actual state of the |
1459 | * hardware at resume time, and evil weirdness ensues. | 1459 | * hardware at resume time, and evil weirdness ensues. |
1460 | */ | 1460 | */ |
1461 | error = device_power_down(PMSG_FREEZE); | 1461 | error = device_suspend_noirq(PMSG_FREEZE); |
1462 | if (error) | 1462 | if (error) |
1463 | goto Resume_devices; | 1463 | goto Resume_devices; |
1464 | error = disable_nonboot_cpus(); | 1464 | error = disable_nonboot_cpus(); |
@@ -1486,7 +1486,7 @@ int kernel_kexec(void) | |||
1486 | local_irq_enable(); | 1486 | local_irq_enable(); |
1487 | Enable_cpus: | 1487 | Enable_cpus: |
1488 | enable_nonboot_cpus(); | 1488 | enable_nonboot_cpus(); |
1489 | device_power_up(PMSG_RESTORE); | 1489 | device_resume_noirq(PMSG_RESTORE); |
1490 | Resume_devices: | 1490 | Resume_devices: |
1491 | device_resume(PMSG_RESTORE); | 1491 | device_resume(PMSG_RESTORE); |
1492 | Resume_console: | 1492 | Resume_console: |