[PATCH 1/1] fs: error handling in do_load()
Simon Glass
sjg at chromium.org
Mon Jun 29 19:26:05 CEST 2020
On Sat, 27 Jun 2020 at 02:24, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> If a file cannot be loaded, show an error message.
> Set the EFI boot device only after successfully loading a file.
>
> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> ---
> fs/fs.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
Reviewed-by: Simon Glass <sjg at chromium.org>
> diff --git a/fs/fs.c b/fs/fs.c
> index ad4caaeb1e..12fa5a6489 100644
> --- a/fs/fs.c
> +++ b/fs/fs.c
> @@ -715,15 +715,18 @@ int do_load(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[],
> else
> pos = 0;
>
> -#ifdef CONFIG_CMD_BOOTEFI
> - efi_set_bootdev(argv[1], (argc > 2) ? argv[2] : "",
> - (argc > 4) ? argv[4] : "");
> -#endif
> time = get_timer(0);
> ret = _fs_read(filename, addr, pos, bytes, 1, &len_read);
> time = get_timer(time);
> - if (ret < 0)
> + if (ret < 0) {
> + printf("Failed to load '%s'\n", filename);
> return 1;
> + }
> +
> +#ifdef CONFIG_CMD_BOOTEFI
> + efi_set_bootdev(argv[1], (argc > 2) ? argv[2] : "",
> + (argc > 4) ? argv[4] : "");
> +#endif
Can this use if() instead?
>
> printf("%llu bytes read in %lu ms", len_read, time);
> if (time > 0) {
> --
> 2.27.0
>
Regards,
Simon
More information about the U-Boot
mailing list