From b2eff088699ac6b846b1ff34c2bb6549f358e6a0 Mon Sep 17 00:00:00 2001 From: Bo Shen Date: Wed, 22 Oct 2014 14:45:56 +0800 Subject: [PATCH] net: macb: write mac address when initialization MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- drivers/net/macb.c | 9 +++++++++ 1 file changed, 9 insertions(+) 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; -- 2.30.2