Currently the Linux kernel will offer s2idle regardless of whether the FADT indicates the system should use or on X86 if the LPS0 ACPI device has been activated. On some non-AMD platforms s2idle can be offered even without proper firmware support. The power consumption may be higher in these instances but the system otherwise properly suspends and resumes. On AMD platforms however when the FW has been configured not to offer s2idle some different hardware initialization has occurred such that the system won't properly resume. This patch series changes the kernel suspend code to conditionally decide whether to offer s2idle. When an AMD system is encountered all the prerequisites will be checked before s2idle is offered to the user. Mario Limonciello (3): PM: suspend: Move some structure declarations around PM: sleep: Don't always assume s2idle will be enabled acpi: sleep: Don't offer s2idle on AMD platforms without LPS0 drivers/acpi/sleep.c | 6 ++++++ drivers/acpi/x86/s2idle.c | 36 ++++++++++++++++++++++++---------- include/linux/suspend.h | 1 + kernel/power/suspend.c | 41 ++++++++++++++++++++------------------- 4 files changed, 54 insertions(+), 30 deletions(-) -- 2.25.1