Re: [PATCH 2/2] ACPI: Store NVS state even when entering suspend to RAM

Maxim Levitsky
2010-05-30T14:40:09Z

On Fri, 2010-05-28 at 16:32 -0400, Matthew Garrett wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=13931 describes a bug where
> a system fails to successfully resume after the second suspend. Maxim
> Levitsky discovered that this could be rectified by forcibly saving
> and restoring the ACPI non-volatile state. The spec indicates that this
> is only required for S4, but testing the behaviour of Windows by adding
> an ACPI NVS region to qemu's e820 map and registering a custom memory
> read/write handler reveals that it's saved and restored even over suspend
> to RAM. We should mimic that behaviour to avoid other broken platforms.
>
> Signed-off-by: Matthew Garrett <mjg@redhat.com>
> ---
> drivers/acpi/sleep.c | 21 +++++++++++++--------
> 1 files changed, 13 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
> index d3cbc55..18aa074 100644
> --- a/drivers/acpi/sleep.c
> +++ b/drivers/acpi/sleep.c
> @@ -128,6 +128,8 @@ static int __acpi_pm_prepare(void)
> {
> int error = acpi_sleep_prepare(acpi_target_sleep_state);

Just one note, I am sure somebody will ask for s3_no_nvs option, just
like s4_no_nvs.

Also this needs to be rebased, like the first patch.

Best regards,
Maxim Levitsky