From: Mario Six Date: Fri, 27 Apr 2018 12:52:56 +0000 (+0200) Subject: net: Initialize as many ethernet devices as possible X-Git-Tag: v2018.07-rc2~51^2~17 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=3ce4304205eac2bc19b9fd67651d65f7d19d3cf2;p=u-boot net: Initialize as many ethernet devices as possible On devices that have their first network interface provided by a FPGA, the initialization of further interfaces will fail if the FPGA is not yet programmed. This leads to problems during factory setup when the data is supposed to be loaded over secondary netowork interfaces. To avoid this, use the uclass_{first,next}_device_check functions to initialize as many ethernet devices as possible. Signed-off-by: Mario Six Acked-by: Joe Hershberger --- diff --git a/net/eth-uclass.c b/net/eth-uclass.c index d20a1cf160..e4b49229e3 100644 --- a/net/eth-uclass.c +++ b/net/eth-uclass.c @@ -395,7 +395,7 @@ int eth_initialize(void) * This is accomplished by attempting to probe each device and calling * their write_hwaddr() operation. */ - uclass_first_device(UCLASS_ETH, &dev); + uclass_first_device_check(UCLASS_ETH, &dev); if (!dev) { printf("No ethernet found.\n"); bootstage_error(BOOTSTAGE_ID_NET_ETH_START); @@ -424,7 +424,7 @@ int eth_initialize(void) eth_write_hwaddr(dev); - uclass_next_device(&dev); + uclass_next_device_check(&dev); num_devices++; } while (dev);