]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
smbios: correctly fill chassis handle
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Mon, 29 Jan 2024 17:32:58 +0000 (18:32 +0100)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fri, 2 Feb 2024 18:57:16 +0000 (19:57 +0100)
The chassis handle field in the type 2 structure must point to the handle
of the type 3 structure.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
lib/smbios.c

index 6190c168f26c59b8b17b408d0092a00cd4446d15..cd750cc218a4bb4d9d93284b8cc420b0c9c30a0c 100644 (file)
@@ -422,6 +422,7 @@ static int smbios_write_type2(ulong *current, int handle,
        t->asset_tag_number = smbios_add_prop(ctx, "asset-tag", NULL);
        t->feature_flags = SMBIOS_BOARD_FEATURE_HOSTING;
        t->board_type = SMBIOS_BOARD_MOTHERBOARD;
+       t->chassis_handle = handle + 1;
 
        len = t->length + smbios_string_table_len(ctx);
        *current += len;
@@ -550,6 +551,7 @@ static struct smbios_write_method smbios_write_funcs[] = {
        { smbios_write_type0, "bios", },
        { smbios_write_type1, "system", },
        { smbios_write_type2, "baseboard", },
+       /* Type 3 must immediately follow type 2 due to chassis handle. */
        { smbios_write_type3, "chassis", },
        { smbios_write_type4, },
        { smbios_write_type32, },