> From: Simon Glass <s...@chromium.org> > Date: Sun, 2 Apr 2023 09:45:25 +1200 > > We should only store the FDT filename if we were unable to determine one. > Adjust the logic for this.
This explanation makes no sense. How can we store the FDT filename if we were unable to determine one? > This corrects the case where no FDT is needed to boot, such as with EFI > using ACPI. > > Signed-off-by: Simon Glass <s...@chromium.org> > --- > > (no changes since v5) > > Changes in v5: > - Add new patch to tweak bootflow logic for device tree > > boot/bootmeth_efi.c | 22 +++++++++++----------- > 1 file changed, 11 insertions(+), 11 deletions(-) > > diff --git a/boot/bootmeth_efi.c b/boot/bootmeth_efi.c > index 6a97ac02ff5c..d7e042cf01ee 100644 > --- a/boot/bootmeth_efi.c > +++ b/boot/bootmeth_efi.c > @@ -235,21 +235,21 @@ static int distro_efi_read_bootflow_file(struct udevice > *dev, > > /* try the various available names */ > ret = -ENOENT; > - for (seq = 0; ret; seq++) { > + *fname = '\0'; > + for (seq = 0; ret == -ENOENT; seq++) { > ret = distro_efi_get_fdt_name(fname, sizeof(fname), seq); > - if (ret == -EALREADY) { > + if (ret == -EALREADY) > bflow->flags = BOOTFLOWF_USE_PRIOR_FDT; > - break; > - } > - if (ret) > - return log_msg_ret("nam", ret); > - ret = bootmeth_common_read_file(dev, bflow, fname, fdt_addr, > - &size); > + if (!ret) > + ret = bootmeth_common_read_file(dev, bflow, fname, > + fdt_addr, &size); > } > > - bflow->fdt_fname = strdup(fname); > - if (!bflow->fdt_fname) > - return log_msg_ret("fil", -ENOMEM); > + if (*fname) { > + bflow->fdt_fname = strdup(fname); > + if (!bflow->fdt_fname) > + return log_msg_ret("fil", -ENOMEM); > + } > > if (!ret) { > bflow->fdt_size = size; > -- > 2.40.0.348.gf938b09366-goog > >