diff options
| author | Lianwei Wang <lianwei.wang@gmail.com> | 2016-06-19 23:52:27 -0700 |
|---|---|---|
| committer | Dmitry Shmidt <dimitrysh@google.com> | 2017-04-10 17:12:04 -0700 |
| commit | a2d978c2adcb7f06b24c4491188d122623384690 (patch) | |
| tree | 0a56d6ec1a82d255bf7b5ace67f9ecdd1c1f9ba3 /kernel/power/main.c | |
| parent | 6a3b9c4984f9edc5a136720e42f1d2ab387857a4 (diff) | |
UPSTREAM: PM / sleep: make PM notifiers called symmetrically
(cherry picked from commit ea00f4f4f00cc2bc3b63ad512a4e6df3b20832b9)
This makes pm notifier PREPARE/POST symmetrical: if PREPARE
fails, we will only undo what ever happened on PREPARE.
It fixes the unbalanced CPU hotplug enable in CPU PM notifier.
Change-Id: I01dce3cc95c5d6b8913b7b6be301f2909258c745
Signed-off-by: Lianwei Wang <lianwei.wang@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'kernel/power/main.c')
| -rw-r--r-- | kernel/power/main.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/kernel/power/main.c b/kernel/power/main.c index b2dd4d999900..68c0eaae8034 100644 --- a/kernel/power/main.c +++ b/kernel/power/main.c @@ -38,12 +38,19 @@ int unregister_pm_notifier(struct notifier_block *nb) } EXPORT_SYMBOL_GPL(unregister_pm_notifier); -int pm_notifier_call_chain(unsigned long val) +int __pm_notifier_call_chain(unsigned long val, int nr_to_call, int *nr_calls) { - int ret = blocking_notifier_call_chain(&pm_chain_head, val, NULL); + int ret; + + ret = __blocking_notifier_call_chain(&pm_chain_head, val, NULL, + nr_to_call, nr_calls); return notifier_to_errno(ret); } +int pm_notifier_call_chain(unsigned long val) +{ + return __pm_notifier_call_chain(val, -1, NULL); +} /* If set, devices may be suspended and resumed asynchronously. */ int pm_async_enabled = 1; |
