]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
net: smc911x: Automatically Update ethaddr with MAC
authorAdam Ford <aford173@gmail.com>
Tue, 18 Aug 2020 13:19:02 +0000 (08:19 -0500)
committerTom Rini <trini@konsulko.com>
Wed, 30 Sep 2020 20:48:18 +0000 (16:48 -0400)
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@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
drivers/net/smc911x.c

index 09372d7f6ba9d91cbb882a5c13114ddb9974ca87..1fa3667b77c86204e43388ad6d34cb1b93855956 100644 (file)
@@ -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)