Comment # 15 on bug 106447 from
I investigated the commit found by git bisect a bit more, and found that the
following patch (which reverts part of said commit) repairs resuming.

I can't tell the consequences, however reading the commit message suggests this
part is non-critical:

> While at it, make the core check pm_runtime_suspended() when
> setting power.direct_complete so that it doesn't need to be
> checked by ->prepare callbacks.

diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index 02a497e7c785..028c14386e5d 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -1959,9 +1959,7 @@ static int device_prepare(struct device *dev,
pm_message_t state)
         * applies to suspend transitions, however.
         */
        spin_lock_irq(&dev->power.lock);
-       dev->power.direct_complete = state.event == PM_EVENT_SUSPEND &&
-               pm_runtime_suspended(dev) && ret > 0 &&
-               !dev_pm_test_driver_flags(dev, DPM_FLAG_NEVER_SKIP);
+       dev->power.direct_complete = ret > 0 && state.event ==
PM_EVENT_SUSPEND;
        spin_unlock_irq(&dev->power.lock);
        return 0;
 }

So, what to do with this information / potential fix?


You are receiving this mail because: