initialize net_mode.if_type
authorAndrew Thomas <andrew.thomas@oracle.com>
Thu, 21 Jun 2018 23:21:01 +0000 (16:21 -0700)
committerJoe Hershberger <joe.hershberger@ni.com>
Thu, 26 Jul 2018 19:08:20 +0000 (14:08 -0500)
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>
lib/efi_loader/efi_net.c

index e1139501d1fbd59833384c3ca98d821a97d478aa..5a3d7be86cf41dea93ade9a2c8d6b3b4a181e55e 100644 (file)
@@ -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)