PM / Hibernate: Thaw processes in SNAPSHOT_CREATE_IMAGE ioctl test path
authorSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Thu, 1 Dec 2011 21:33:10 +0000 (22:33 +0100)
committerRafael J. Wysocki <rjw@sisk.pl>
Tue, 6 Dec 2011 21:07:59 +0000 (22:07 +0100)
commit97819a26224f019e73d88bb2fd4eb5a614860461
treed7bb2f83b2564d4f2bf111e2eb3bc1f4714b342e
parent0118521cc7acb3ccbc1a01d6144ac32be9d56a4c
PM / Hibernate: Thaw processes in SNAPSHOT_CREATE_IMAGE ioctl test path

Commit 2aede851ddf08666f68ffc17be446420e9d2a056 (PM / Hibernate: Freeze
kernel threads after preallocating memory) moved the freezing of kernel
threads to hibernation_snapshot() function.

So now, if the call to hibernation_snapshot() returns early due to a
successful hibernation test, the caller has to thaw processes to ensure
that the system gets back to its original state.

But in SNAPSHOT_CREATE_IMAGE hibernation ioctl, the caller does not thaw
processes in case hibernation_snapshot() returned due to a successful
freezer test. Fix this issue. But note we still send the value of 'in_suspend'
(which is now 0) to userspace, because we are not in an error path per-se,
and moreover, the value of in_suspend correctly depicts the situation here.

Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
kernel/power/hibernate.c
kernel/power/power.h
kernel/power/user.c