From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Date: Wed, 22 Oct 2014 09:19:06 +0200 Subject: [U-Boot] [PATCH] net: macb: write mac address when initialization In-Reply-To: <1413960356-9582-1-git-send-email-voice.shen@atmel.com> References: <1413960356-9582-1-git-send-email-voice.shen@atmel.com> Message-ID: <20141022091906.485d22f4@bbrezillon> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Bo, On Wed, 22 Oct 2014 14:45:56 +0800 Bo Shen wrote: > 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 Thanks for fixing this. Tested-by Boris Brezillon > --- > > 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; > -- Boris Brezillon, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com