[PATCH V2] net: smc911x: Automatically Update ethaddr with MAC

Adam Ford aford173 at gmail.com
Tue Aug 18 15:19:02 CEST 2020

The ethernet controller can read the MAC from EEPROM and display it,
but if ethaddr is not set, the ethernet is still unavailable.

This patch checks will automatically set the MAC address if it has
not already been set.

Signed-off-by: Adam Ford <aford173 at gmail.com>
V2:  Fix typo

diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index 09372d7f6b..1fa3667b77 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -6,6 +6,7 @@
 #include <common.h>
+#include <env.h>
 #include <command.h>
 #include <malloc.h>
 #include <net.h>
@@ -185,6 +186,8 @@ static void smc911x_handle_mac_address(struct smc911x_priv *priv)
 	smc911x_set_mac_csr(priv, ADDRH, addrh);
 	printf(DRIVERNAME ": MAC %pM\n", m);
+	if (!env_get("ethaddr"))
+		env_set("ethaddr", (const char *)m);
 static bool smc911x_read_mac_address(struct smc911x_priv *priv)

More information about the U-Boot mailing list