efidebug: avoid 'dfu_alt_info not defined' message
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 15 Jan 2022 01:11:22 +0000 (02:11 +0100)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 15 Jan 2022 09:57:22 +0000 (10:57 +0100)
If variable dfu_alt_info is not defined duplicate messages are displayed.

    => efidebug boot dump
    Scanning disk mmc2.blk...
    Scanning disk mmc1.blk...
    Scanning disk mmc0.blk...
    Found 3 disks
    No EFI system partition
    "dfu_alt_info" env variable not defined!
    Probably dfu_alt_info not defined
    "dfu_alt_info" env variable not defined!
    Probably dfu_alt_info not defined

Remove the 'Probably dfu_alt_info not defined' message.
Instead write a warning if the variable contains no entities.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
lib/efi_loader/efi_firmware.c

index a1b88db..519a472 100644 (file)
@@ -128,8 +128,11 @@ static efi_status_t efi_get_dfu_info(
        size_t names_len, total_size;
        int dfu_num, i;
        u16 *name, *next;
+       int ret;
 
-       dfu_init_env_entities(NULL, NULL);
+       ret = dfu_init_env_entities(NULL, NULL);
+       if (ret)
+               return EFI_SUCCESS;
 
        names_len = 0;
        dfu_num = 0;
@@ -138,7 +141,7 @@ static efi_status_t efi_get_dfu_info(
                dfu_num++;
        }
        if (!dfu_num) {
-               log_warning("Probably dfu_alt_info not defined\n");
+               log_warning("No entities in dfu_alt_info\n");
                *image_info_size = 0;
                dfu_free_entities();