Message ID | 20200627081930.18795-1-xypron.glpk@gmx.de |
---|---|
State | Superseded |
Headers | show |
Series | [1/1] fs: error handling in do_load() | expand |
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
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 printf("%llu bytes read in %lu ms", len_read, time); if (time > 0) {
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(-) -- 2.27.0