ralink: check ethernet MAC address whether it is valid
The mac address usually write in factory block. but sometime user erase this block , the mac address will change to ff:ff:ff:ff:ff:ff. This patch is purpose to fix this issue. Signed-off-by: wengbj <linux.c@foxmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44166 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
27fe727852
commit
3e6b801eb4
|
@ -1220,8 +1220,10 @@ static int __init fe_init(struct net_device *dev)
|
|||
if (priv->soc->switch_init)
|
||||
priv->soc->switch_init(priv);
|
||||
|
||||
memcpy(dev->dev_addr, priv->soc->mac, ETH_ALEN);
|
||||
of_get_mac_address_mtd(priv->device->of_node, dev->dev_addr);
|
||||
/*If the mac address is invalid, use default mac address */
|
||||
if (!is_valid_ether_addr(dev->dev_addr))
|
||||
memcpy(dev->dev_addr, priv->soc->mac, ETH_ALEN);
|
||||
|
||||
err = fe_mdio_init(priv);
|
||||
if (err)
|
||||
|
|
Loading…
Reference in New Issue