smbios: Do not look up children of invalid nodes

If there is no UCLASS_SYSINFO device available, parent_node will be
ofnode_null(). Calling ofnode_find_subnode() then triggers an assertion:

  drivers/core/ofnode.c:598: ofnode_find_subnode: Assertion `ofnode_valid(node)' failed.

Check for a valid parent_node, not just that OF_CONTROL is enabled.

Fixes: 44ffb6f0ec ("smbios: Allow properties to come from the device tree")
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
This commit is contained in:
Samuel Holland
2025-04-14 12:47:04 -07:00
committed by Tom Rini
parent a948f57118
commit 8327aa9af4

View File

@@ -950,7 +950,7 @@ ulong write_smbios_table(ulong addr)
ctx.subnode_name = NULL; ctx.subnode_name = NULL;
if (method->subnode_name) { if (method->subnode_name) {
ctx.subnode_name = method->subnode_name; ctx.subnode_name = method->subnode_name;
if (IS_ENABLED(CONFIG_OF_CONTROL)) if (ofnode_valid(parent_node))
ctx.node = ofnode_find_subnode(parent_node, ctx.node = ofnode_find_subnode(parent_node,
method->subnode_name); method->subnode_name);
} }