aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/efi_loader/efi_smbios.c4
-rw-r--r--lib/smbios-parser.c11
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;