OSDN Git Service

PM / domains: Don't skip driver's ->suspend|resume_noirq() callbacks
authorUlf Hansson <ulf.hansson@linaro.org>
Wed, 10 Jan 2018 20:31:56 +0000 (21:31 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 11 Jan 2018 00:57:44 +0000 (01:57 +0100)
commita935424bb658f9ca37eb5e94119b857998341356
tree4763ccc31976bb54544e2638dcd9bb2ff934ab2d
parent001d50c9a14f1fab94b329161a1db9235b4e60da
PM / domains: Don't skip driver's ->suspend|resume_noirq() callbacks

Commit 10da65423fdb (PM / Domains: Call driver's noirq callbacks)
started to respect driver's noirq callbacks, but while doing that it
also introduced a few potential problems.

More precisely, in genpd_finish_suspend() and genpd_resume_noirq()
the noirq callbacks at the driver level should be invoked, no matter
of whether dev->power.wakeup_path is set or not.

Additionally, the commit in question also made genpd_resume_noirq()
to ignore the return value from pm_runtime_force_resume().

Let's fix both these issues!

Fixes: 10da65423fdb (PM / Domains: Call driver's noirq callbacks)
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/power/domain.c