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>
SVN-Revision: 44166
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)