From: Bo Shen Date: Wed, 22 Oct 2014 06:45:56 +0000 (+0800) Subject: net: macb: write mac address when initialization X-Git-Tag: v2015.01-rc2~74 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=b2eff088699ac6b846b1ff34c2bb6549f358e6a0;p=u-boot net: macb: write mac address when initialization 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 Tested-by: Boris Brezillon Signed-off-by: Andreas Bießmann --- diff --git a/drivers/net/macb.c b/drivers/net/macb.c index 375c8a4454..4616f369ca 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;