summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/x86/acpi.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/arch/x86/acpi.c b/src/arch/x86/acpi.c
index 80923e3edd..8ab993ec48 100644
--- a/src/arch/x86/acpi.c
+++ b/src/arch/x86/acpi.c
@@ -763,11 +763,14 @@ void acpi_create_vfct(struct device *device,
memcpy(header->asl_compiler_id, ASLC, 4);
header->asl_compiler_revision = asl_revision;
- header->length = sizeof(struct acpi_vfct);
header->revision = get_acpi_table_revision(VFCT);
current = acpi_fill_vfct(device, vfct, current);
+ /* If no BIOS image, return with header->length == 0. */
+ if (!vfct->VBIOSImageOffset)
+ return;
+
/* (Re)calculate length and checksum. */
header->length = current - (unsigned long)vfct;
header->checksum = acpi_checksum((void *)vfct, header->length);