diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/efi_loader/efi_smbios.c | 4 | ||||
-rw-r--r-- | lib/smbios-parser.c | 11 |
2 files changed, 5 insertions, 10 deletions
diff --git a/lib/efi_loader/efi_smbios.c b/lib/efi_loader/efi_smbios.c index b2ec1f7919..8d2ef6deb5 100644 --- a/lib/efi_loader/efi_smbios.c +++ b/lib/efi_loader/efi_smbios.c @@ -60,7 +60,9 @@ static int install_smbios_table(void) ulong addr; void *buf; - if (!IS_ENABLED(CONFIG_GENERATE_SMBIOS_TABLE) || IS_ENABLED(CONFIG_X86)) + if (!IS_ENABLED(CONFIG_GENERATE_SMBIOS_TABLE) || + IS_ENABLED(CONFIG_X86) || + IS_ENABLED(CONFIG_QFW_SMBIOS)) return 0; /* Align the table to a 4KB boundary to keep EFI happy */ diff --git a/lib/smbios-parser.c b/lib/smbios-parser.c index e1180efae1..ac9a367a87 100644 --- a/lib/smbios-parser.c +++ b/lib/smbios-parser.c @@ -39,14 +39,7 @@ static u8 *find_next_header(u8 *pos) return pos; } -static struct smbios_header *get_next_header(struct smbios_header *curr) -{ - u8 *pos = ((u8 *)curr) + curr->length; - - return (struct smbios_header *)find_next_header(pos); -} - -static const struct smbios_header *next_header(const struct smbios_header *curr) +static struct smbios_header *get_next_header(const struct smbios_header *curr) { u8 *pos = ((u8 *)curr) + curr->length; @@ -62,7 +55,7 @@ const struct smbios_header *smbios_header(const struct smbios_entry *entry, int if (header->type == type) return header; - header = next_header(header); + header = get_next_header(header); } return NULL; |