diff mbox

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

Message ID 1413960356-9582-1-git-send-email-voice.shen@atmel.com
State Accepted, archived
Delegated to: Andreas Bießmann
Headers show

Commit Message

Bo Shen Oct. 22, 2014, 6:45 a.m. UTC
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@atmel.com>
---

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

Comments

Boris Brezillon Oct. 22, 2014, 7:19 a.m. UTC | #1
Hi Bo,

On Wed, 22 Oct 2014 14:45:56 +0800
Bo Shen <voice.shen@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@atmel.com>

Thanks for fixing this.

Tested-by Boris Brezillon <boris.brezillon@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;
>
Andreas Bießmann Nov. 17, 2014, 12:14 p.m. UTC | #2
Dear Bo Shen,

Bo Shen <voice.shen@atmel.com> writes:
>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@atmel.com>
>Tested-by: Boris Brezillon <boris.brezillon@free-electrons.com>
>---
>
> drivers/net/macb.c | 9 +++++++++
> 1 file changed, 9 insertions(+)

applied to u-boot-atmel/master, thanks!

Best regards,
Andreas Bießmann
diff mbox

Patch

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;