[U-Boot] [PATCH] net: macb: write mac address when initialization

Bo Shen voice.shen at atmel.com
Wed Oct 22 08:45:56 CEST 2014


When boot up without mac address setting, it will give the warning
message like: "Warning: failed to set MAC address", however when
execute network related command, it still execute them without any
warning information.

With this patch, it will exit directly with following information:
"gmac0: mac address is not valid"

It also solve the problem after bootup then set mac address and the
mac address won't set to net device issue.

Signed-off-by: Bo Shen <voice.shen at atmel.com>
---

 drivers/net/macb.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 375c8a4..4616f36 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -525,6 +525,7 @@ static int macb_phy_init(struct macb_device *macb)
 	return 1;
 }
 
+static int macb_write_hwaddr(struct eth_device *dev);
 static int macb_init(struct eth_device *netdev, bd_t *bd)
 {
 	struct macb_device *macb = to_macb(netdev);
@@ -587,6 +588,14 @@ static int macb_init(struct eth_device *netdev, bd_t *bd)
 #endif /* CONFIG_RMII */
 	}
 
+	/* update the ethaddr */
+	if (is_valid_ether_addr(netdev->enetaddr)) {
+		macb_write_hwaddr(netdev);
+	} else {
+		printf("%s: mac address is not valid\n", netdev->name);
+		return -1;
+	}
+
 	if (!macb_phy_init(macb))
 		return -1;
 
-- 
2.1.0.24.g4109c28



More information about the U-Boot mailing list