bootstd: Tweak bootflow logic for device tree
We should only store the FDT filename if we were able to determine one. Adjust the logic for this. This corrects the case where no FDT is needed to boot, such as with EFI using ACPI. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
2356053a94
commit
9f8351659a
1 changed files with 11 additions and 11 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue