lkml.org 
[lkml]   [2013]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] PM / Hibernate: remove duplicate disable_nonboot_cpus()
Date
From: Stephen Warren <swarren@nvidia.com>

Within hibernate.c, hibernation_platform_enter() is only called from
power_down(), which in turn is only called by hibernate() after having
called hibernation_snapshot(), which in turn calls create_image() which
in turn calls disable_nonboot_cpus().

Elsewhere, snapshot_ioctl() allows hibernation_snapshot() and
hibernation_platform_enter() to be invoked via separate IOCTLs, but I
assume the rule is that SNAPSHOT_CREATE_IMAGE must be executed before
IOCTL SNAPSHOT_POWER_OFF, and hence the same ordering applies.

This means that disable_nonboot_cpus() must have been called already
before hibernation_platform_enter() is entered, and hence the call there
is redundant, so remove it.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
---
Note: I have compile-tested this on x86-64, but have not attempted to test
it in any way; I'm proposing this patch following code inspection.
---
kernel/power/hibernate.c | 5 -----
1 file changed, 5 deletions(-)

diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
index b26f5f1..4ddeacc 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
@@ -537,10 +537,6 @@ int hibernation_platform_enter(void)
if (error)
goto Platform_finish;

- error = disable_nonboot_cpus();
- if (error)
- goto Platform_finish;
-
local_irq_disable();
syscore_suspend();
if (pm_wakeup_pending()) {
@@ -555,7 +551,6 @@ int hibernation_platform_enter(void)
Power_up:
syscore_resume();
local_irq_enable();
- enable_nonboot_cpus();

Platform_finish:
hibernation_ops->finish();
--
1.7.10.4


\
 
 \ /
  Last update: 2013-01-30 01:02    [W:0.033 / U:0.636 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site