diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2007-03-22 00:11:20 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-22 19:39:05 -0700 |
commit | 93c9a7ff50a5b39dbdf80129c5da89e6d6256bea (patch) | |
tree | 8bc951687be367c0a736a9a6165c67baf92d7621 /kernel | |
parent | acf11faeb1ba1179f695c83c47716e4f6ffdebd8 (diff) | |
download | op-kernel-dev-93c9a7ff50a5b39dbdf80129c5da89e6d6256bea.zip op-kernel-dev-93c9a7ff50a5b39dbdf80129c5da89e6d6256bea.tar.gz |
[PATCH] swsusp: Fix SNAPSHOT_S2RAM ioctl
The SNAPSHOT_S2RAM ioctl does not disable the nonboot CPUs before entering
the suspend, although it should do this.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/power/user.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/kernel/power/user.c b/kernel/power/user.c index d6a8dcc..bf211fe 100644 --- a/kernel/power/user.c +++ b/kernel/power/user.c @@ -368,9 +368,12 @@ static int snapshot_ioctl(struct inode *inode, struct file *filp, if (error) { printk(KERN_ERR "Failed to suspend some devices.\n"); } else { - /* Enter S3, system is already frozen */ - suspend_enter(PM_SUSPEND_MEM); - + error = disable_nonboot_cpus(); + if (!error) { + /* Enter S3, system is already frozen */ + suspend_enter(PM_SUSPEND_MEM); + enable_nonboot_cpus(); + } /* Wake up devices */ device_resume(); } |