Original commit c61d94d86035 ("pxe: implement fdtdir extlinux.conf tag")
states, that if FDT file cannot be retrieved then FDT packaged in
firmware should be used.

If FDT file cannot be retrieved and it is specified explicitly using
FDT keyword then the label is skipped. If it cannot be found in
FDTDIR then internal FDT is tried first.

Signed-off-by: Anton Leontiev <aleont...@elvees.com>
---
 cmd/pxe.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/cmd/pxe.c b/cmd/pxe.c
index 1dd0a74ea3..8175e342ee 100644
--- a/cmd/pxe.c
+++ b/cmd/pxe.c
@@ -794,9 +794,13 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label 
*label)
                        int err = get_relfile_envaddr(cmdtp, fdtfile, 
"fdt_addr_r");
                        free(fdtfilefree);
                        if (err < 0) {
-                               printf("Skipping %s for failure retrieving 
fdt\n",
-                                               label->name);
-                               goto cleanup;
+                               bootm_argv[3] = NULL;
+
+                               if (label->fdt) {
+                                       printf("Skipping %s for failure 
retrieving FDT\n",
+                                              label->name);
+                                       goto cleanup;
+                               }
                        }
                } else {
                        bootm_argv[3] = NULL;
-- 
2.21.0
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to