smbios: Correct error handling when writing tables

Since write_smbios_table() returns an address, we cannot use it to
return and error number. Also, failing on sysinfo_detect() breaks
existing boards, e.g. chromebook_link

Correct this by logging and swallowing the error.

Signed-off-by: Simon Glass <sjg@chromium.org>
Fixes: a5a5756285 ("lib: smbios: Detect system properties via...")
This commit is contained in:
Simon Glass
2024-06-23 14:30:33 -06:00
committed by Tom Rini
parent f840a5b34c
commit 4a8a54c3f4

View File

@@ -5,6 +5,8 @@
* Adapted from coreboot src/arch/x86/smbios.c
*/
#define LOG_CATEGORY LOGC_BOARD
#include <dm.h>
#include <env.h>
#include <linux/stringify.h>
@@ -596,8 +598,12 @@ ulong write_smbios_table(ulong addr)
parent_node = dev_read_subnode(ctx.dev, "smbios");
ret = sysinfo_detect(ctx.dev);
if (ret)
return ret;
/*
* ignore the error since many boards don't implement
* this and we can still use the info in the devicetree
*/
ret = log_msg_ret("sys", ret);
}
} else {
ctx.dev = NULL;