Commit ab8a4365 authored by Lukas Wunner's avatar Lukas Wunner Committed by Greg Kroah-Hartman

PM / sleep: Clear pm_suspend_global_flags upon hibernate

commit 27614273 upstream.

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>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 87afa6a7
...@@ -339,6 +339,7 @@ int hibernation_snapshot(int platform_mode) ...@@ -339,6 +339,7 @@ int hibernation_snapshot(int platform_mode)
pm_message_t msg; pm_message_t msg;
int error; int error;
pm_suspend_clear_flags();
error = platform_begin(platform_mode); error = platform_begin(platform_mode);
if (error) if (error)
goto Close; goto Close;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment