From: Andrew Thomas <andrew.thomas@oracle.com>
Date: Thu, 21 Jun 2018 23:21:01 +0000 (-0700)
Subject: initialize net_mode.if_type
X-Git-Tag: v2025.01-rc5-pxa1908~3863^2~13
X-Git-Url: http://git.dujemihanovic.xyz/html/static/gitweb.css?a=commitdiff_plain;h=f25ddca16c96f13c3f7cf7968566d1ff03917012;p=u-boot.git

initialize net_mode.if_type

if_type is not correctly initialized

Failure to initialize if_type means that grub2/efinet sends
a bogus arp request. It therefore gets no response. On Raspberry Pi 3B+
this leads to a pause at:

lan78xx_eth Waiting for PHY auto negotiation to complete....... done
lan78xx_eth Waiting for PHY auto negotiation to complete....... done

Signed-off-by: Andrew Thomas <andrew.thomas@oracle.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
---

diff --git a/lib/efi_loader/efi_net.c b/lib/efi_loader/efi_net.c
index e1139501d1..5a3d7be86c 100644
--- a/lib/efi_loader/efi_net.c
+++ b/lib/efi_loader/efi_net.c
@@ -361,6 +361,7 @@ efi_status_t efi_net_register(void)
 	memcpy(netobj->net_mode.current_address.mac_addr, eth_get_ethaddr(), 6);
 	netobj->net_mode.hwaddr_size = ARP_HLEN;
 	netobj->net_mode.max_packet_size = PKTSIZE;
+	netobj->net_mode.if_type = ARP_ETHER;
 
 	netobj->pxe.mode = &netobj->pxe_mode;
 	if (dhcp_ack)