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)  		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();  |