|
@@ -1457,6 +1457,7 @@ int kernel_kexec(void)
|
|
|
error = disable_nonboot_cpus();
|
|
|
if (error)
|
|
|
goto Resume_devices;
|
|
|
+ device_pm_lock();
|
|
|
local_irq_disable();
|
|
|
/* At this point, device_suspend() has been called,
|
|
|
* but *not* device_power_down(). We *must*
|
|
@@ -1485,6 +1486,7 @@ int kernel_kexec(void)
|
|
|
device_power_up(PMSG_RESTORE);
|
|
|
Enable_irqs:
|
|
|
local_irq_enable();
|
|
|
+ device_pm_unlock();
|
|
|
enable_nonboot_cpus();
|
|
|
Resume_devices:
|
|
|
device_resume(PMSG_RESTORE);
|