aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/dummy.c3
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c1
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c2
-rw-r--r--drivers/net/ethernet/calxeda/xgmac.c3
-rw-r--r--drivers/net/ethernet/marvell/pxa168_eth.c3
-rw-r--r--drivers/net/ethernet/micrel/ks8842.c3
-rw-r--r--drivers/net/ethernet/micrel/ks8851.c3
-rw-r--r--drivers/net/ethernet/micrel/ks8851_mll.c1
-rw-r--r--drivers/net/ethernet/microchip/enc28j60.c3
-rw-r--r--drivers/net/ethernet/nvidia/forcedeth.c3
-rw-r--r--drivers/net/ethernet/smsc/smsc911x.c3
-rw-r--r--drivers/net/ethernet/tile/tilepro.c3
-rw-r--r--drivers/net/macvlan.c3
-rw-r--r--drivers/net/team/team.c3
14 files changed, 25 insertions, 12 deletions
diff --git a/drivers/net/dummy.c b/drivers/net/dummy.c
index 087648ea1edb..d5c6d92f1ee7 100644
--- a/drivers/net/dummy.c
+++ b/drivers/net/dummy.c
@@ -47,6 +47,7 @@ static int dummy_set_address(struct net_device *dev, void *p)
47 if (!is_valid_ether_addr(sa->sa_data)) 47 if (!is_valid_ether_addr(sa->sa_data))
48 return -EADDRNOTAVAIL; 48 return -EADDRNOTAVAIL;
49 49
50 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
50 memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN); 51 memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN);
51 return 0; 52 return 0;
52} 53}
@@ -135,7 +136,7 @@ static void dummy_setup(struct net_device *dev)
135 dev->flags &= ~IFF_MULTICAST; 136 dev->flags &= ~IFF_MULTICAST;
136 dev->features |= NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO; 137 dev->features |= NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_TSO;
137 dev->features |= NETIF_F_HW_CSUM | NETIF_F_HIGHDMA | NETIF_F_LLTX; 138 dev->features |= NETIF_F_HW_CSUM | NETIF_F_HIGHDMA | NETIF_F_LLTX;
138 random_ether_addr(dev->dev_addr); 139 eth_hw_addr_random(dev);
139} 140}
140 141
141static int dummy_validate(struct nlattr *tb[], struct nlattr *data[]) 142static int dummy_validate(struct nlattr *tb[], struct nlattr *data[])
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
index 5d15efc2a9e2..aa14502289ce 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
@@ -3007,6 +3007,7 @@ int bnx2x_change_mac_addr(struct net_device *dev, void *p)
3007 return rc; 3007 return rc;
3008 } 3008 }
3009 3009
3010 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
3010 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); 3011 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
3011 3012
3012 if (netif_running(dev)) 3013 if (netif_running(dev))
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
index b9afd26cfbe6..8e809c1408b4 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
@@ -9683,7 +9683,7 @@ static void __devinit bnx2x_get_mac_hwinfo(struct bnx2x *bp)
9683 9683
9684 if (BP_NOMCP(bp)) { 9684 if (BP_NOMCP(bp)) {
9685 BNX2X_ERROR("warning: random MAC workaround active\n"); 9685 BNX2X_ERROR("warning: random MAC workaround active\n");
9686 random_ether_addr(bp->dev->dev_addr); 9686 eth_hw_addr_random(bp->dev);
9687 } else if (IS_MF(bp)) { 9687 } else if (IS_MF(bp)) {
9688 val2 = MF_CFG_RD(bp, func_mf_config[func].mac_upper); 9688 val2 = MF_CFG_RD(bp, func_mf_config[func].mac_upper);
9689 val = MF_CFG_RD(bp, func_mf_config[func].mac_lower); 9689 val = MF_CFG_RD(bp, func_mf_config[func].mac_lower);
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);
diff --git a/drivers/net/ethernet/marvell/pxa168_eth.c b/drivers/net/ethernet/marvell/pxa168_eth.c
index 75df2091bd2e..83e37ad113e0 100644
--- a/drivers/net/ethernet/marvell/pxa168_eth.c
+++ b/drivers/net/ethernet/marvell/pxa168_eth.c
@@ -629,6 +629,7 @@ static int pxa168_eth_set_mac_address(struct net_device *dev, void *addr)
629 if (!is_valid_ether_addr(sa->sa_data)) 629 if (!is_valid_ether_addr(sa->sa_data))
630 return -EINVAL; 630 return -EINVAL;
631 memcpy(oldMac, dev->dev_addr, ETH_ALEN); 631 memcpy(oldMac, dev->dev_addr, ETH_ALEN);
632 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
632 memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN); 633 memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN);
633 netif_addr_lock_bh(dev); 634 netif_addr_lock_bh(dev);
634 update_hash_table_mac_address(pep, oldMac, dev->dev_addr); 635 update_hash_table_mac_address(pep, oldMac, dev->dev_addr);
@@ -1520,7 +1521,7 @@ static int pxa168_eth_probe(struct platform_device *pdev)
1520 INIT_WORK(&pep->tx_timeout_task, pxa168_eth_tx_timeout_task); 1521 INIT_WORK(&pep->tx_timeout_task, pxa168_eth_tx_timeout_task);
1521 1522
1522 printk(KERN_INFO "%s:Using random mac address\n", DRIVER_NAME); 1523 printk(KERN_INFO "%s:Using random mac address\n", DRIVER_NAME);
1523 random_ether_addr(dev->dev_addr); 1524 eth_hw_addr_random(dev);
1524 1525
1525 pep->pd = pdev->dev.platform_data; 1526 pep->pd = pdev->dev.platform_data;
1526 pep->rx_ring_size = NUM_RX_DESCS; 1527 pep->rx_ring_size = NUM_RX_DESCS;
diff --git a/drivers/net/ethernet/micrel/ks8842.c b/drivers/net/ethernet/micrel/ks8842.c
index 0a85690a1321..0686b93f1857 100644
--- a/drivers/net/ethernet/micrel/ks8842.c
+++ b/drivers/net/ethernet/micrel/ks8842.c
@@ -1080,6 +1080,7 @@ static int ks8842_set_mac(struct net_device *netdev, void *p)
1080 if (!is_valid_ether_addr(addr->sa_data)) 1080 if (!is_valid_ether_addr(addr->sa_data))
1081 return -EADDRNOTAVAIL; 1081 return -EADDRNOTAVAIL;
1082 1082
1083 netdev->addr_assign_type &= ~NET_ADDR_RANDOM;
1083 memcpy(netdev->dev_addr, mac, netdev->addr_len); 1084 memcpy(netdev->dev_addr, mac, netdev->addr_len);
1084 1085
1085 ks8842_write_mac_addr(adapter, mac); 1086 ks8842_write_mac_addr(adapter, mac);
@@ -1211,7 +1212,7 @@ static int __devinit ks8842_probe(struct platform_device *pdev)
1211 ks8842_read_mac_addr(adapter, netdev->dev_addr); 1212 ks8842_read_mac_addr(adapter, netdev->dev_addr);
1212 1213
1213 if (!is_valid_ether_addr(netdev->dev_addr)) 1214 if (!is_valid_ether_addr(netdev->dev_addr))
1214 random_ether_addr(netdev->dev_addr); 1215 eth_hw_addr_random(netdev);
1215 } 1216 }
1216 1217
1217 id = ks8842_read16(adapter, 32, REG_SW_ID_AND_ENABLE); 1218 id = ks8842_read16(adapter, 32, REG_SW_ID_AND_ENABLE);
diff --git a/drivers/net/ethernet/micrel/ks8851.c b/drivers/net/ethernet/micrel/ks8851.c
index 0930b9c950d0..42a6a20efb15 100644
--- a/drivers/net/ethernet/micrel/ks8851.c
+++ b/drivers/net/ethernet/micrel/ks8851.c
@@ -439,7 +439,7 @@ static void ks8851_init_mac(struct ks8851_net *ks)
439 dev->dev_addr); 439 dev->dev_addr);
440 } 440 }
441 441
442 random_ether_addr(dev->dev_addr); 442 eth_hw_addr_random(dev);
443 ks8851_write_mac_addr(dev); 443 ks8851_write_mac_addr(dev);
444} 444}
445 445
@@ -1050,6 +1050,7 @@ static int ks8851_set_mac_address(struct net_device *dev, void *addr)
1050 if (!is_valid_ether_addr(sa->sa_data)) 1050 if (!is_valid_ether_addr(sa->sa_data))
1051 return -EADDRNOTAVAIL; 1051 return -EADDRNOTAVAIL;
1052 1052
1053 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
1053 memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN); 1054 memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN);
1054 return ks8851_write_mac_addr(dev); 1055 return ks8851_write_mac_addr(dev);
1055} 1056}
diff --git a/drivers/net/ethernet/micrel/ks8851_mll.c b/drivers/net/ethernet/micrel/ks8851_mll.c
index 3d9a04e7b49d..180460f4e41f 100644
--- a/drivers/net/ethernet/micrel/ks8851_mll.c
+++ b/drivers/net/ethernet/micrel/ks8851_mll.c
@@ -1241,6 +1241,7 @@ static int ks_set_mac_address(struct net_device *netdev, void *paddr)
1241 struct sockaddr *addr = paddr; 1241 struct sockaddr *addr = paddr;
1242 u8 *da; 1242 u8 *da;
1243 1243
1244 netdev->addr_assign_type &= ~NET_ADDR_RANDOM;
1244 memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); 1245 memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
1245 1246
1246 da = (u8 *)netdev->dev_addr; 1247 da = (u8 *)netdev->dev_addr;
diff --git a/drivers/net/ethernet/microchip/enc28j60.c b/drivers/net/ethernet/microchip/enc28j60.c
index 1d6b7ce3e1ee..6118bdad244f 100644
--- a/drivers/net/ethernet/microchip/enc28j60.c
+++ b/drivers/net/ethernet/microchip/enc28j60.c
@@ -527,6 +527,7 @@ static int enc28j60_set_mac_address(struct net_device *dev, void *addr)
527 if (!is_valid_ether_addr(address->sa_data)) 527 if (!is_valid_ether_addr(address->sa_data))
528 return -EADDRNOTAVAIL; 528 return -EADDRNOTAVAIL;
529 529
530 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
530 memcpy(dev->dev_addr, address->sa_data, dev->addr_len); 531 memcpy(dev->dev_addr, address->sa_data, dev->addr_len);
531 return enc28j60_set_hw_macaddr(dev); 532 return enc28j60_set_hw_macaddr(dev);
532} 533}
@@ -1575,7 +1576,7 @@ static int __devinit enc28j60_probe(struct spi_device *spi)
1575 ret = -EIO; 1576 ret = -EIO;
1576 goto error_irq; 1577 goto error_irq;
1577 } 1578 }
1578 random_ether_addr(dev->dev_addr); 1579 eth_hw_addr_random(dev);
1579 enc28j60_set_hw_macaddr(dev); 1580 enc28j60_set_hw_macaddr(dev);
1580 1581
1581 /* Board setup must set the relevant edge trigger type; 1582 /* Board setup must set the relevant edge trigger type;
diff --git a/drivers/net/ethernet/nvidia/forcedeth.c b/drivers/net/ethernet/nvidia/forcedeth.c
index 5eeb92f87380..8561dd25db66 100644
--- a/drivers/net/ethernet/nvidia/forcedeth.c
+++ b/drivers/net/ethernet/nvidia/forcedeth.c
@@ -3022,6 +3022,7 @@ static int nv_set_mac_address(struct net_device *dev, void *addr)
3022 3022
3023 /* synchronized against open : rtnl_lock() held by caller */ 3023 /* synchronized against open : rtnl_lock() held by caller */
3024 memcpy(dev->dev_addr, macaddr->sa_data, ETH_ALEN); 3024 memcpy(dev->dev_addr, macaddr->sa_data, ETH_ALEN);
3025 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
3025 3026
3026 if (netif_running(dev)) { 3027 if (netif_running(dev)) {
3027 netif_tx_lock_bh(dev); 3028 netif_tx_lock_bh(dev);
@@ -5741,7 +5742,7 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i
5741 dev_err(&pci_dev->dev, 5742 dev_err(&pci_dev->dev,
5742 "Invalid MAC address detected: %pM - Please complain to your hardware vendor.\n", 5743 "Invalid MAC address detected: %pM - Please complain to your hardware vendor.\n",
5743 dev->dev_addr); 5744 dev->dev_addr);
5744 random_ether_addr(dev->dev_addr); 5745 eth_hw_addr_random(dev);
5745 dev_err(&pci_dev->dev, 5746 dev_err(&pci_dev->dev,
5746 "Using random MAC address: %pM\n", dev->dev_addr); 5747 "Using random MAC address: %pM\n", dev->dev_addr);
5747 } 5748 }
diff --git a/drivers/net/ethernet/smsc/smsc911x.c b/drivers/net/ethernet/smsc/smsc911x.c
index 6a1cd2360818..4a6971027076 100644
--- a/drivers/net/ethernet/smsc/smsc911x.c
+++ b/drivers/net/ethernet/smsc/smsc911x.c
@@ -1833,6 +1833,7 @@ static int smsc911x_set_mac_address(struct net_device *dev, void *p)
1833 if (!is_valid_ether_addr(addr->sa_data)) 1833 if (!is_valid_ether_addr(addr->sa_data))
1834 return -EADDRNOTAVAIL; 1834 return -EADDRNOTAVAIL;
1835 1835
1836 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
1836 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN); 1837 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
1837 1838
1838 spin_lock_irq(&pdata->mac_lock); 1839 spin_lock_irq(&pdata->mac_lock);
@@ -2485,7 +2486,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
2485 "Mac Address is read from LAN911x EEPROM"); 2486 "Mac Address is read from LAN911x EEPROM");
2486 } else { 2487 } else {
2487 /* eeprom values are invalid, generate random MAC */ 2488 /* eeprom values are invalid, generate random MAC */
2488 random_ether_addr(dev->dev_addr); 2489 eth_hw_addr_random(dev);
2489 smsc911x_set_hw_mac_address(pdata, dev->dev_addr); 2490 smsc911x_set_hw_mac_address(pdata, dev->dev_addr);
2490 SMSC_TRACE(pdata, probe, 2491 SMSC_TRACE(pdata, probe,
2491 "MAC Address is set to random_ether_addr"); 2492 "MAC Address is set to random_ether_addr");
diff --git a/drivers/net/ethernet/tile/tilepro.c b/drivers/net/ethernet/tile/tilepro.c
index a8e5daaef6fa..948c4f2a2d67 100644
--- a/drivers/net/ethernet/tile/tilepro.c
+++ b/drivers/net/ethernet/tile/tilepro.c
@@ -2190,6 +2190,7 @@ static int tile_net_set_mac_address(struct net_device *dev, void *p)
2190 2190
2191 /* ISSUE: Note that "dev_addr" is now a pointer. */ 2191 /* ISSUE: Note that "dev_addr" is now a pointer. */
2192 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); 2192 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
2193 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
2193 2194
2194 return 0; 2195 return 0;
2195} 2196}
@@ -2254,7 +2255,7 @@ static int tile_net_get_mac(struct net_device *dev)
2254 * can't get its MAC address, we are most likely running 2255 * can't get its MAC address, we are most likely running
2255 * the simulator, so let's generate a random MAC address. 2256 * the simulator, so let's generate a random MAC address.
2256 */ 2257 */
2257 random_ether_addr(dev->dev_addr); 2258 eth_hw_addr_random(dev);
2258 } 2259 }
2259 2260
2260 return 0; 2261 return 0;
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index 9ea99217f116..f975afdc315c 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
@@ -372,6 +372,7 @@ static int macvlan_set_mac_address(struct net_device *dev, void *p)
372 372
373 if (!(dev->flags & IFF_UP)) { 373 if (!(dev->flags & IFF_UP)) {
374 /* Just copy in the new address */ 374 /* Just copy in the new address */
375 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
375 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN); 376 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
376 } else { 377 } else {
377 /* Rehash and update the device filters */ 378 /* Rehash and update the device filters */
@@ -687,7 +688,7 @@ int macvlan_common_newlink(struct net *src_net, struct net_device *dev,
687 return -EINVAL; 688 return -EINVAL;
688 689
689 if (!tb[IFLA_ADDRESS]) 690 if (!tb[IFLA_ADDRESS])
690 random_ether_addr(dev->dev_addr); 691 eth_hw_addr_random(dev);
691 692
692 if (!macvlan_port_exists(lowerdev)) { 693 if (!macvlan_port_exists(lowerdev)) {
693 err = macvlan_port_create(lowerdev); 694 err = macvlan_port_create(lowerdev);
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
index 6b678f38e5ce..8f81805c6825 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -868,6 +868,7 @@ static int team_set_mac_address(struct net_device *dev, void *p)
868 struct team_port *port; 868 struct team_port *port;
869 struct sockaddr *addr = p; 869 struct sockaddr *addr = p;
870 870
871 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
871 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN); 872 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
872 rcu_read_lock(); 873 rcu_read_lock();
873 list_for_each_entry_rcu(port, &team->port_list, list) 874 list_for_each_entry_rcu(port, &team->port_list, list)
@@ -1087,7 +1088,7 @@ static int team_newlink(struct net *src_net, struct net_device *dev,
1087 int err; 1088 int err;
1088 1089
1089 if (tb[IFLA_ADDRESS] == NULL) 1090 if (tb[IFLA_ADDRESS] == NULL)
1090 random_ether_addr(dev->dev_addr); 1091 eth_hw_addr_random(dev);
1091 1092
1092 err = register_netdevice(dev); 1093 err = register_netdevice(dev);
1093 if (err) 1094 if (err)