提交 f1ffa9d4 编写于 作者: Z Zhang Rui 提交者: Rafael J. Wysocki

Revert "ACPI: sleep: Put the FACS table after using it"

Commit 95722237 ("ACPI: sleep: Put the FACS table after using it")
puts the FACS table during initialization.

But the hardware signature bits in the FACS table need to be accessed,
after every hibernation, to compare with the original hardware
signature.

So there is no reason to release the FACS table mapping after
initialization.

This reverts commit 95722237.

An alternative solution is to use acpi_gbl_FACS variable instead, which
is mapped by the ACPICA core and never released.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=212277Reported-by: NStephan Hohe <sth.dev@tejp.de>
Signed-off-by: NZhang Rui <rui.zhang@intel.com>
Cc: 5.8+ <stable@vger.kernel.org> # 5.8+
Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
上级 614124be
...@@ -1009,10 +1009,8 @@ static void acpi_sleep_hibernate_setup(void) ...@@ -1009,10 +1009,8 @@ static void acpi_sleep_hibernate_setup(void)
return; return;
acpi_get_table(ACPI_SIG_FACS, 1, (struct acpi_table_header **)&facs); acpi_get_table(ACPI_SIG_FACS, 1, (struct acpi_table_header **)&facs);
if (facs) { if (facs)
s4_hardware_signature = facs->hardware_signature; s4_hardware_signature = facs->hardware_signature;
acpi_put_table((struct acpi_table_header *)facs);
}
} }
#else /* !CONFIG_HIBERNATION */ #else /* !CONFIG_HIBERNATION */
static inline void acpi_sleep_hibernate_setup(void) {} static inline void acpi_sleep_hibernate_setup(void) {}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册