diff options
| author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2016-07-08 23:14:17 +0200 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2016-07-08 23:14:17 +0200 |
| commit | 63f9ccb89552f25fa8cac57a6796479ca7eb527d (patch) | |
| tree | 6b8286f4d70ccf4f2a5b65764af7887836d02bf1 /kernel/power/suspend.c | |
| parent | 65c0554b73c920023cc8998802e508b798113b46 (diff) | |
| parent | 307c5971c972ef2bfd541d2850b36a692c6354c9 (diff) | |
| download | linux-63f9ccb89552f25fa8cac57a6796479ca7eb527d.tar.gz linux-63f9ccb89552f25fa8cac57a6796479ca7eb527d.tar.bz2 linux-63f9ccb89552f25fa8cac57a6796479ca7eb527d.zip | |
Merge back earlier suspend/hibernation changes for v4.8.
Diffstat (limited to 'kernel/power/suspend.c')
| -rw-r--r-- | kernel/power/suspend.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c index 5b70d64b871e..0acab9d7f96f 100644 --- a/kernel/power/suspend.c +++ b/kernel/power/suspend.c @@ -266,16 +266,18 @@ static int suspend_test(int level) */ static int suspend_prepare(suspend_state_t state) { - int error; + int error, nr_calls = 0; if (!sleep_state_supported(state)) return -EPERM; pm_prepare_console(); - error = pm_notifier_call_chain(PM_SUSPEND_PREPARE); - if (error) + error = __pm_notifier_call_chain(PM_SUSPEND_PREPARE, -1, &nr_calls); + if (error) { + nr_calls--; goto Finish; + } trace_suspend_resume(TPS("freeze_processes"), 0, true); error = suspend_freeze_processes(); @@ -286,7 +288,7 @@ static int suspend_prepare(suspend_state_t state) suspend_stats.failed_freeze++; dpm_save_failed_step(SUSPEND_FREEZE); Finish: - pm_notifier_call_chain(PM_POST_SUSPEND); + __pm_notifier_call_chain(PM_POST_SUSPEND, nr_calls, NULL); pm_restore_console(); return error; } |
