diff options
Diffstat (limited to 'kernel/power/hibernate.c')
| -rw-r--r-- | kernel/power/hibernate.c | 10 | 
1 files changed, 8 insertions, 2 deletions
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c index aeabd26e334..50aae660174 100644 --- a/kernel/power/hibernate.c +++ b/kernel/power/hibernate.c @@ -273,8 +273,11 @@ static int create_image(int platform_mode)  	local_irq_disable();  	error = sysdev_suspend(PMSG_FREEZE); -	if (!error) +	if (!error) {  		error = syscore_suspend(); +		if (error) +			sysdev_resume(); +	}  	if (error) {  		printk(KERN_ERR "PM: Some system devices failed to power down, "  			"aborting hibernation\n"); @@ -407,8 +410,11 @@ static int resume_target_kernel(bool platform_mode)  	local_irq_disable();  	error = sysdev_suspend(PMSG_QUIESCE); -	if (!error) +	if (!error) {  		error = syscore_suspend(); +		if (error) +			sysdev_resume(); +	}  	if (error)  		goto Enable_irqs;  |