summary refs log tree commit diff
path: root/kernel/power/user.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2011-05-10 21:10:13 +0200
committerRafael J. Wysocki <rjw@sisk.pl>2011-05-11 21:10:58 +0200
commit36cb7035ea0c11ef2c7fa2bbe0cd181b23569b29 (patch)
treed7d62149629bda6a916693232885b96ca34f30f3 /kernel/power/user.c
parent9744997a8a2280e67984d4bffd87221d24f3b6b1 (diff)
downloadlinux-36cb7035ea0c11ef2c7fa2bbe0cd181b23569b29.tar.gz
PM / Hibernate: Fix ioctl SNAPSHOT_S2RAM
The SNAPSHOT_S2RAM ioctl used for implementing the feature allowing
one to suspend to RAM after creating a hibernation image is currently
broken, because it doesn't clear the "ready" flag in the struct
snapshot_data object handled by it.  As a result, the
SNAPSHOT_UNFREEZE doesn't work correctly after SNAPSHOT_S2RAM has
returned and the user space hibernate task cannot thaw the other
processes as appropriate.  Make SNAPSHOT_S2RAM clear data->ready
to fix this problem.

Tested-by: Alexandre Felipe Muller de Souza <alexandrefm@mandriva.com.br>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Cc: stable@kernel.org
Diffstat (limited to 'kernel/power/user.c')
-rw-r--r--kernel/power/user.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/power/user.c b/kernel/power/user.c
index 6522be913ac1..7d02d33be699 100644
--- a/kernel/power/user.c
+++ b/kernel/power/user.c
@@ -381,6 +381,7 @@ static long snapshot_ioctl(struct file *filp, unsigned int cmd,
 		 * PM_HIBERNATION_PREPARE
 		 */
 		error = suspend_devices_and_enter(PM_SUSPEND_MEM);
+		data->ready = 0;
 		break;
 
 	case SNAPSHOT_PLATFORM_SUPPORT: