From 1915fdcc21268c0f5df513461e3ddbb03a26f3c5 Mon Sep 17 00:00:00 2001 From: Heiko Stuebner Date: Wed, 2 Apr 2025 23:50:25 +0200 Subject: [PATCH] boot: call dhcp_run in pxe bootmethod A recent change tried to speed up EFI booting by not calling dhcp_run from eth_bootdev_hunt() every time. PXE so far relied on that dhcp_run call to get an IP address. Fix that by adding a dhcp_run call to the pxe bootflow, with autoload disabled to only get the ip address and nothing else. Suggested-by: Heinrich Schuchardt Fixes: 1f68057e0320 ("net: eth_bootdev_hunt() should not run DHCP") Signed-off-by: Heiko Stuebner --- boot/bootmeth_pxe.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/boot/bootmeth_pxe.c b/boot/bootmeth_pxe.c index b91e61bcbc4..6e5e0f99ea4 100644 --- a/boot/bootmeth_pxe.c +++ b/boot/bootmeth_pxe.c @@ -73,6 +73,10 @@ static int extlinux_pxe_read_bootflow(struct udevice *dev, return log_msg_ret("pxeb", -EPERM); addr = simple_strtoul(addr_str, NULL, 16); + ret = dhcp_run(addr, NULL, false); + if (ret) + return log_msg_ret("dhc", ret); + log_debug("calling pxe_get()\n"); ret = pxe_get(addr, &bootdir, &size, false); log_debug("pxe_get() returned %d\n", ret); -- 2.47.2