diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-10-06 02:08:12 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-10-06 02:08:12 +0300 |
commit | 5aebc7d2780df9176ee92f6d3bfd54b04457e349 (patch) | |
tree | d96dc34f039663c80c325cd97ecf3cd2fb9ddd66 /drivers | |
parent | 31d099085d5415a073b52358a5fc61d50e9ab614 (diff) | |
parent | 69e445ab8b66a9f30519842ef18be555d3ee9b51 (diff) | |
download | linux-5aebc7d2780df9176ee92f6d3bfd54b04457e349.tar.xz |
Merge tag 'pm-4.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Rafael writes:
"Power management fix for 4.19-rc7
Fix a bug that may cause runtime PM to misbehave for some devices
after a failing or aborted system suspend which is nasty enough for
an -rc7 time frame fix."
* tag 'pm-4.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
PM / core: Clear the direct_complete flag on errors
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/base/power/main.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c index 3f68e2919dc5..a690fd400260 100644 --- a/drivers/base/power/main.c +++ b/drivers/base/power/main.c @@ -1713,8 +1713,10 @@ static int __device_suspend(struct device *dev, pm_message_t state, bool async) dpm_wait_for_subordinate(dev, async); - if (async_error) + if (async_error) { + dev->power.direct_complete = false; goto Complete; + } /* * If a device configured to wake up the system from sleep states @@ -1726,6 +1728,7 @@ static int __device_suspend(struct device *dev, pm_message_t state, bool async) pm_wakeup_event(dev, 0); if (pm_wakeup_pending()) { + dev->power.direct_complete = false; async_error = -EBUSY; goto Complete; } |