diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2011-05-10 15:10:13 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2011-05-11 15:10:58 -0400 |
commit | 36cb7035ea0c11ef2c7fa2bbe0cd181b23569b29 (patch) | |
tree | d7d62149629bda6a916693232885b96ca34f30f3 /kernel/power/user.c | |
parent | 9744997a8a2280e67984d4bffd87221d24f3b6b1 (diff) |
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.c | 1 |
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, | |||
381 | * PM_HIBERNATION_PREPARE | 381 | * PM_HIBERNATION_PREPARE |
382 | */ | 382 | */ |
383 | error = suspend_devices_and_enter(PM_SUSPEND_MEM); | 383 | error = suspend_devices_and_enter(PM_SUSPEND_MEM); |
384 | data->ready = 0; | ||
384 | break; | 385 | break; |
385 | 386 | ||
386 | case SNAPSHOT_PLATFORM_SUPPORT: | 387 | case SNAPSHOT_PLATFORM_SUPPORT: |