diff mbox series

[U-Boot,v2,1/2] net: Initialize as many ethernet devices as possible

Message ID 20180427125257.1081-1-mario.six@gdsys.cc
State Accepted
Commit 3ce4304205eac2bc19b9fd67651d65f7d19d3cf2
Delegated to: Joe Hershberger
Headers show
Series [U-Boot,v2,1/2] net: Initialize as many ethernet devices as possible | expand

Commit Message

Mario Six April 27, 2018, 12:52 p.m. UTC
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 <mario.six@gdsys.cc>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
---

v1 -> v2:
No changes

---
 net/eth-uclass.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Joe Hershberger June 13, 2018, 7:01 p.m. UTC | #1
Hi Mario,

https://patchwork.ozlabs.org/patch/905737/ was applied to http://git.denx.de/?p=u-boot/u-boot-net.git

Thanks!
-Joe
diff mbox series

Patch

diff --git a/net/eth-uclass.c b/net/eth-uclass.c
index 240b596534..2877700ff4 100644
--- a/net/eth-uclass.c
+++ b/net/eth-uclass.c
@@ -396,7 +396,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);
@@ -425,7 +425,7 @@  int eth_initialize(void)
 
 			eth_write_hwaddr(dev);
 
-			uclass_next_device(&dev);
+			uclass_next_device_check(&dev);
 			num_devices++;
 		} while (dev);