summary refs log tree commit diff
path: root/kernel/power
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-09-01 13:47:49 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-09-01 13:47:49 +0200
commit068765ba7987e73d4381edfe47b70aa121c7155c (patch)
tree021926eb2535caa0ee30d8bf031b74493aa51b84 /kernel/power
parent69e273c0b0a3c337a521d083374c918dc52c666f (diff)
downloadlinux-068765ba7987e73d4381edfe47b70aa121c7155c.tar.gz
PM / sleep: Mechanism for aborting system suspends unconditionally
It sometimes may be necessary to abort a system suspend in
progress or wake up the system from suspend-to-idle even if the
pm_wakeup_event()/pm_stay_awake() mechanism is not enabled.

For this purpose, introduce a new global variable pm_abort_suspend
and make pm_wakeup_pending() check its value.  Also add routines
for manipulating that variable.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'kernel/power')
-rw-r--r--kernel/power/process.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/power/process.c b/kernel/power/process.c
index 4ee194eb524b..7b323221b9ee 100644
--- a/kernel/power/process.c
+++ b/kernel/power/process.c
@@ -129,6 +129,7 @@ int freeze_processes(void)
 	if (!pm_freezing)
 		atomic_inc(&system_freezing_cnt);
 
+	pm_wakeup_clear();
 	printk("Freezing user space processes ... ");
 	pm_freezing = true;
 	error = try_to_freeze_tasks(true);