[PATCH] ARM: omap: xload: Fix network boot filename

Sascha Hauer s.hauer at pengutronix.de
Mon Sep 17 03:10:06 PDT 2018


The dhcp code no longer exports the "bootfile" environment variable.
It now uses global.dhcp.bootfile. Since global variable support is
not necessarily part of the MLO we instead use struct dhcp_result *
to get the bootfile information.

Fixes: 528298b702 ("net: dhcp: rework")

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 arch/arm/mach-omap/xload.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap/xload.c b/arch/arm/mach-omap/xload.c
index d8b1c9ee1c..bb58825dcf 100644
--- a/arch/arm/mach-omap/xload.c
+++ b/arch/arm/mach-omap/xload.c
@@ -236,6 +236,7 @@ static void *am33xx_net_boot(void)
 	char *file;
 	char ip4_str[sizeof("255.255.255.255")];
 	struct eth_device *edev;
+	struct dhcp_result *dhcp_res;
 
 	am33xx_register_ethaddr(0, 0);
 
@@ -248,12 +249,14 @@ static void *am33xx_net_boot(void)
 		return NULL;
 	}
 
-	err = dhcp(edev, &dhcp_param);
+	err = dhcp_request(edev, &dhcp_param, &dhcp_res);
 	if (err) {
 		printf("dhcp failed\n");
 		return NULL;
 	}
 
+	dhcp_set_result(edev, dhcp_res);
+
 	/*
 	 * Older tftp server don't send the file size.
 	 * Then tftpfs needs temporary place to store the file.
@@ -276,7 +279,7 @@ static void *am33xx_net_boot(void)
 		return NULL;
 	}
 
-	bootfile = getenv("bootfile");
+	bootfile = dhcp_res->bootfile;
 	if (!bootfile) {
 		printf("bootfile not found.\n");
 		return NULL;
-- 
2.19.0




More information about the barebox mailing list