[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] x86/ACPI: don't invalidate S5 data when S3 wakeup vector cannot be determined
commit 16ca5b3f873f17f4fbdaecf46c133e1aa3d623b2 Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Tue Jan 5 13:11:04 2021 +0100 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Tue Jan 5 13:11:04 2021 +0100 x86/ACPI: don't invalidate S5 data when S3 wakeup vector cannot be determined We can be more tolerant as long as the data collected from FACS is only needed to enter S3. A prior change already added suitable checking to acpi_enter_sleep(). Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- xen/arch/x86/acpi/boot.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/xen/arch/x86/acpi/boot.c b/xen/arch/x86/acpi/boot.c index b34bd6a581..6345490f93 100644 --- a/xen/arch/x86/acpi/boot.c +++ b/xen/arch/x86/acpi/boot.c @@ -420,22 +420,22 @@ acpi_fadt_parse_sleep_info(struct acpi_table_fadt *fadt) facs_pa = (uint64_t)fadt->facs; } if (!facs_pa) - goto bad; + return; facs = acpi_os_map_memory(facs_pa, sizeof(*facs)); if (!facs) - goto bad; + return; if (strncmp(facs->signature, "FACS", 4)) { printk(KERN_ERR PREFIX "Invalid FACS signature %.4s\n", facs->signature); - goto bad; + goto done; } if (facs->length < 24) { printk(KERN_ERR PREFIX "Invalid FACS table length: %#x", facs->length); - goto bad; + goto done; } if (facs->length < 64) @@ -452,6 +452,7 @@ acpi_fadt_parse_sleep_info(struct acpi_table_fadt *fadt) offsetof(struct acpi_table_facs, firmware_waking_vector); acpi_sinfo.vector_width = 32; + done: acpi_os_unmap_memory(facs, sizeof(*facs)); printk(KERN_INFO PREFIX -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |