]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
cmd: bootefi: Don't show usage help if EFI binary fails.
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 16 Mar 2024 09:36:43 +0000 (10:36 +0100)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Thu, 21 Mar 2024 06:28:43 +0000 (07:28 +0100)
If an EFI binary returns an error code EFI_INVALID_PARAMETER, we show the
usage help for the bootefi command:

    Shell> exit 0x8000000000000002
    ## Application failed, r = 2
    bootefi - Boots an EFI payload from memory

    Usage:
    bootefi <image address>[:<image size>] [<fdt address>]
      - boot EFI payload
    bootefi bootmgr [fdt address]
      - load and boot EFI payload based on BootOrder/BootXXXX variables.

        If specified, the device tree located at <fdt address> gets
        exposed as EFI configuration table.

This makes no sense.

Fixes: 296faf4f7ef1 ("cmd: bootefi: re-organize do_bootefi()")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
cmd/bootefi.c

index 9cf9027bf40914e1665957a6c06694d2a07e27a9..b509440cde0812dd4e406f4b7f80c26409e7dfb5 100644 (file)
@@ -154,9 +154,7 @@ static int do_bootefi(struct cmd_tbl *cmdtp, int flag, int argc,
            !strcmp(argv[1], "bootmgr")) {
                ret = efi_bootmgr_run(fdt);
 
-               if (ret == EFI_INVALID_PARAMETER)
-                       return CMD_RET_USAGE;
-               else if (ret)
+               if (ret != EFI_SUCCESS)
                        return CMD_RET_FAILURE;
 
                return CMD_RET_SUCCESS;
@@ -218,9 +216,7 @@ static int do_bootefi(struct cmd_tbl *cmdtp, int flag, int argc,
 
        ret = efi_binary_run(image_buf, size, fdt);
 
-       if (ret == EFI_INVALID_PARAMETER)
-               return CMD_RET_USAGE;
-       else if (ret)
+       if (ret != EFI_SUCCESS)
                return CMD_RET_FAILURE;
 
        return CMD_RET_SUCCESS;