aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/calxeda/xgmac.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/calxeda/xgmac.c')
-rw-r--r--drivers/net/ethernet/calxeda/xgmac.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/calxeda/xgmac.c b/drivers/net/ethernet/calxeda/xgmac.c
index 1fce186a9031..11f667f6131a 100644
--- a/drivers/net/ethernet/calxeda/xgmac.c
+++ b/drivers/net/ethernet/calxeda/xgmac.c
@@ -1012,7 +1012,7 @@ static int xgmac_open(struct net_device *dev)
1012 * address using the following linux command: 1012 * address using the following linux command:
1013 * ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx */ 1013 * ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx */
1014 if (!is_valid_ether_addr(dev->dev_addr)) { 1014 if (!is_valid_ether_addr(dev->dev_addr)) {
1015 random_ether_addr(dev->dev_addr); 1015 eth_hw_addr_random(dev);
1016 netdev_dbg(priv->dev, "generated random MAC address %pM\n", 1016 netdev_dbg(priv->dev, "generated random MAC address %pM\n",
1017 dev->dev_addr); 1017 dev->dev_addr);
1018 } 1018 }
@@ -1482,6 +1482,7 @@ static int xgmac_set_mac_address(struct net_device *dev, void *p)
1482 if (!is_valid_ether_addr(addr->sa_data)) 1482 if (!is_valid_ether_addr(addr->sa_data))
1483 return -EADDRNOTAVAIL; 1483 return -EADDRNOTAVAIL;
1484 1484
1485 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
1485 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); 1486 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
1486 1487
1487 xgmac_set_mac_addr(ioaddr, dev->dev_addr, 0); 1488 xgmac_set_mac_addr(ioaddr, dev->dev_addr, 0);