diff options
Diffstat (limited to 'kernel/power/hibernate.c')
| -rw-r--r-- | kernel/power/hibernate.c | 12 | 
1 files changed, 7 insertions, 5 deletions
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c index 559acef3fddb..9ed9b744876c 100644 --- a/kernel/power/hibernate.c +++ b/kernel/power/hibernate.c @@ -300,7 +300,7 @@ static int create_image(int platform_mode)  	if (error || hibernation_test(TEST_PLATFORM))  		goto Platform_finish; -	error = suspend_disable_secondary_cpus(); +	error = pm_sleep_disable_secondary_cpus();  	if (error || hibernation_test(TEST_CPUS))  		goto Enable_cpus; @@ -342,7 +342,7 @@ static int create_image(int platform_mode)  	local_irq_enable();   Enable_cpus: -	suspend_enable_secondary_cpus(); +	pm_sleep_enable_secondary_cpus();  	/* Allow architectures to do nosmt-specific post-resume dances */  	if (!in_suspend) @@ -466,6 +466,8 @@ static int resume_target_kernel(bool platform_mode)  	if (error)  		goto Cleanup; +	cpuidle_pause(); +  	error = hibernate_resume_nonboot_cpu_disable();  	if (error)  		goto Enable_cpus; @@ -509,7 +511,7 @@ static int resume_target_kernel(bool platform_mode)  	local_irq_enable();   Enable_cpus: -	suspend_enable_secondary_cpus(); +	pm_sleep_enable_secondary_cpus();   Cleanup:  	platform_restore_cleanup(platform_mode); @@ -587,7 +589,7 @@ int hibernation_platform_enter(void)  	if (error)  		goto Platform_finish; -	error = suspend_disable_secondary_cpus(); +	error = pm_sleep_disable_secondary_cpus();  	if (error)  		goto Enable_cpus; @@ -609,7 +611,7 @@ int hibernation_platform_enter(void)  	local_irq_enable();   Enable_cpus: -	suspend_enable_secondary_cpus(); +	pm_sleep_enable_secondary_cpus();   Platform_finish:  	hibernation_ops->finish();  |