• Lukas Wunner's avatar
    PM / sleep: Clear pm_suspend_global_flags upon hibernate · 27614273
    Lukas Wunner authored
    When suspending to RAM, waking up and later suspending to disk,
    we gratuitously runtime resume devices after the thaw phase.
    This does not occur if we always suspend to RAM or always to disk.
    
    pm_complete_with_resume_check(), which gets called from
    pci_pm_complete() among others, schedules a runtime resume
    if PM_SUSPEND_FLAG_FW_RESUME is set. The flag is set during
    a suspend-to-RAM cycle. It is cleared at the beginning of
    the suspend-to-RAM cycle but not afterwards and it is not
    cleared during a suspend-to-disk cycle at all. Fix it.
    
    Fixes: ef25ba04 (PM / sleep: Add flags to indicate platform firmware involvement)
    Signed-off-by: default avatarLukas Wunner <lukas@wunner.de>
    Cc: 4.4+ <stable@vger.kernel.org> # 4.4+
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    27614273
hibernate.c 26.9 KB