summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>2016-11-02 12:52:13 +0100
committerJoe Hershberger <joe.hershberger@ni.com>2016-11-07 11:28:16 -0600
commitaa555fe9f07a21b3bbdab15aea594f3869e5ab22 (patch)
treee2876fabac3e50626e8313cc994cb551107b0e2b /net
parent6ecf9e21b5ecd5ddfe9100cb1023ca244fe63ceb (diff)
net: use random ethernet address if invalid and not zero
Use random ethernet address if the ethernet address found is invalid, not zero and config for random address is defined. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Diffstat (limited to 'net')
-rw-r--r--net/eth-uclass.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/eth-uclass.c b/net/eth-uclass.c
index a32961e6ce..1d13011089 100644
--- a/net/eth-uclass.c
+++ b/net/eth-uclass.c
@@ -512,7 +512,8 @@ static int eth_post_probe(struct udevice *dev)
eth_setenv_enetaddr_by_index("eth", dev->seq, pdata->enetaddr);
printf("\nWarning: %s using MAC address from ROM\n",
dev->name);
- } else if (is_zero_ethaddr(pdata->enetaddr)) {
+ } else if (is_zero_ethaddr(pdata->enetaddr) ||
+ !is_valid_ethaddr(pdata->enetaddr)) {
#ifdef CONFIG_NET_RANDOM_ETHADDR
net_random_ethaddr(pdata->enetaddr);
printf("\nWarning: %s (eth%d) using random MAC address - %pM\n",