[U-Boot] [PATCH] net: macb: write mac address when initialization
Boris Brezillon
boris.brezillon at free-electrons.com
Wed Oct 22 09:19:06 CEST 2014
Hi Bo,
On Wed, 22 Oct 2014 14:45:56 +0800
Bo Shen <voice.shen at atmel.com> 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 <voice.shen at atmel.com>
Thanks for fixing this.
Tested-by Boris Brezillon <boris.brezillon at free-electrons.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;
>
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
More information about the U-Boot
mailing list