Revert "ACPI: sleep: Put the FACS table after using it"
commit f1ffa9d4cccc8fdf6c03fb1b3429154d22037988 upstream. Commit95722237cb
("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 commit95722237cb
. 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=212277 Reported-by: Stephan Hohe <sth.dev@tejp.de> Signed-off-by: Zhang Rui <rui.zhang@intel.com> Cc: 5.8+ <stable@vger.kernel.org> # 5.8+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
82a8ffba54
commit
afd87792db
@@ -1290,10 +1290,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) {}
|
||||||
|
Reference in New Issue
Block a user