aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/adi/bfin_mac.c1
-rw-r--r--drivers/net/ethernet/atheros/atl1c/atl1c_main.c1
-rw-r--r--drivers/net/ethernet/atheros/atlx/atlx.c1
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c1
-rw-r--r--drivers/net/ethernet/calxeda/xgmac.c1
-rw-r--r--drivers/net/ethernet/cisco/enic/enic_main.c1
-rw-r--r--drivers/net/ethernet/ethoc.c1
-rw-r--r--drivers/net/ethernet/intel/igbvf/netdev.c1
-rw-r--r--drivers/net/ethernet/marvell/pxa168_eth.c1
-rw-r--r--drivers/net/ethernet/micrel/ks8842.c1
-rw-r--r--drivers/net/ethernet/micrel/ks8851.c1
-rw-r--r--drivers/net/ethernet/micrel/ks8851_mll.c1
-rw-r--r--drivers/net/ethernet/microchip/enc28j60.c1
-rw-r--r--drivers/net/ethernet/nvidia/forcedeth.c1
-rw-r--r--drivers/net/ethernet/octeon/octeon_mgmt.c6
-rw-r--r--drivers/net/ethernet/smsc/smsc911x.c1
-rw-r--r--drivers/net/ethernet/ti/davinci_emac.c1
-rw-r--r--drivers/net/ethernet/tile/tilepro.c1
-rw-r--r--drivers/net/ethernet/wiznet/w5100.c1
-rw-r--r--drivers/net/ethernet/wiznet/w5300.c1
-rw-r--r--drivers/net/macvlan.c1
-rw-r--r--drivers/net/team/team.c2
-rw-r--r--drivers/staging/octeon/ethernet.c6
-rw-r--r--net/batman-adv/soft-interface.c1
-rw-r--r--net/bridge/br_device.c1
-rw-r--r--net/ethernet/eth.c2
-rw-r--r--net/openvswitch/vport-internal_dev.c1
27 files changed, 4 insertions, 35 deletions
diff --git a/drivers/net/ethernet/adi/bfin_mac.c b/drivers/net/ethernet/adi/bfin_mac.c
index c1fdb8be8bee..8c3c9cfbf864 100644
--- a/drivers/net/ethernet/adi/bfin_mac.c
+++ b/drivers/net/ethernet/adi/bfin_mac.c
@@ -647,7 +647,6 @@ static int bfin_mac_set_mac_address(struct net_device *dev, void *p)
647 if (netif_running(dev)) 647 if (netif_running(dev))
648 return -EBUSY; 648 return -EBUSY;
649 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); 649 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
650 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
651 setup_mac_addr(dev->dev_addr); 650 setup_mac_addr(dev->dev_addr);
652 return 0; 651 return 0;
653} 652}
diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
index 17651c779680..7af95ce971ec 100644
--- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
+++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
@@ -472,7 +472,6 @@ static int atl1c_set_mac_addr(struct net_device *netdev, void *p)
472 472
473 memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); 473 memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
474 memcpy(adapter->hw.mac_addr, addr->sa_data, netdev->addr_len); 474 memcpy(adapter->hw.mac_addr, addr->sa_data, netdev->addr_len);
475 netdev->addr_assign_type &= ~NET_ADDR_RANDOM;
476 475
477 atl1c_hw_set_mac_addr(&adapter->hw, adapter->hw.mac_addr); 476 atl1c_hw_set_mac_addr(&adapter->hw, adapter->hw.mac_addr);
478 477
diff --git a/drivers/net/ethernet/atheros/atlx/atlx.c b/drivers/net/ethernet/atheros/atlx/atlx.c
index 77ffbc4a5071..f82eb1699464 100644
--- a/drivers/net/ethernet/atheros/atlx/atlx.c
+++ b/drivers/net/ethernet/atheros/atlx/atlx.c
@@ -84,7 +84,6 @@ static int atlx_set_mac(struct net_device *netdev, void *p)
84 84
85 memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); 85 memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
86 memcpy(adapter->hw.mac_addr, addr->sa_data, netdev->addr_len); 86 memcpy(adapter->hw.mac_addr, addr->sa_data, netdev->addr_len);
87 netdev->addr_assign_type &= ~NET_ADDR_RANDOM;
88 87
89 atlx_set_mac_addr(&adapter->hw); 88 atlx_set_mac_addr(&adapter->hw);
90 return 0; 89 return 0;
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
index f9a15cbf73ef..d17fa5ab15a8 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
@@ -3904,7 +3904,6 @@ int bnx2x_change_mac_addr(struct net_device *dev, void *p)
3904 return rc; 3904 return rc;
3905 } 3905 }
3906 3906
3907 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
3908 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); 3907 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
3909 3908
3910 if (netif_running(dev)) 3909 if (netif_running(dev))
diff --git a/drivers/net/ethernet/calxeda/xgmac.c b/drivers/net/ethernet/calxeda/xgmac.c
index b407043ce9b0..a345e2454b83 100644
--- a/drivers/net/ethernet/calxeda/xgmac.c
+++ b/drivers/net/ethernet/calxeda/xgmac.c
@@ -1459,7 +1459,6 @@ static int xgmac_set_mac_address(struct net_device *dev, void *p)
1459 if (!is_valid_ether_addr(addr->sa_data)) 1459 if (!is_valid_ether_addr(addr->sa_data))
1460 return -EADDRNOTAVAIL; 1460 return -EADDRNOTAVAIL;
1461 1461
1462 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
1463 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); 1462 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
1464 1463
1465 xgmac_set_mac_addr(ioaddr, dev->dev_addr, 0); 1464 xgmac_set_mac_addr(ioaddr, dev->dev_addr, 0);
diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c
index 64866ff1aea0..ebccebff1437 100644
--- a/drivers/net/ethernet/cisco/enic/enic_main.c
+++ b/drivers/net/ethernet/cisco/enic/enic_main.c
@@ -865,7 +865,6 @@ static int enic_set_mac_addr(struct net_device *netdev, char *addr)
865 } 865 }
866 866
867 memcpy(netdev->dev_addr, addr, netdev->addr_len); 867 memcpy(netdev->dev_addr, addr, netdev->addr_len);
868 netdev->addr_assign_type &= ~NET_ADDR_RANDOM;
869 868
870 return 0; 869 return 0;
871} 870}
diff --git a/drivers/net/ethernet/ethoc.c b/drivers/net/ethernet/ethoc.c
index f380bb7653dd..b93062dac482 100644
--- a/drivers/net/ethernet/ethoc.c
+++ b/drivers/net/ethernet/ethoc.c
@@ -784,7 +784,6 @@ static int ethoc_set_mac_address(struct net_device *dev, void *addr)
784 ethoc_write(priv, MAC_ADDR1, (mac[0] << 8) | (mac[1] << 0)); 784 ethoc_write(priv, MAC_ADDR1, (mac[0] << 8) | (mac[1] << 0));
785 785
786 memcpy(dev->dev_addr, mac, ETH_ALEN); 786 memcpy(dev->dev_addr, mac, ETH_ALEN);
787 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
788 787
789 return 0; 788 return 0;
790} 789}
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c
index 277f5dfe3d90..53281ff17315 100644
--- a/drivers/net/ethernet/intel/igbvf/netdev.c
+++ b/drivers/net/ethernet/intel/igbvf/netdev.c
@@ -1738,7 +1738,6 @@ static int igbvf_set_mac(struct net_device *netdev, void *p)
1738 return -EADDRNOTAVAIL; 1738 return -EADDRNOTAVAIL;
1739 1739
1740 memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); 1740 memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
1741 netdev->addr_assign_type &= ~NET_ADDR_RANDOM;
1742 1741
1743 return 0; 1742 return 0;
1744} 1743}
diff --git a/drivers/net/ethernet/marvell/pxa168_eth.c b/drivers/net/ethernet/marvell/pxa168_eth.c
index 10d678d3dd01..aa037ca314e7 100644
--- a/drivers/net/ethernet/marvell/pxa168_eth.c
+++ b/drivers/net/ethernet/marvell/pxa168_eth.c
@@ -627,7 +627,6 @@ static int pxa168_eth_set_mac_address(struct net_device *dev, void *addr)
627 if (!is_valid_ether_addr(sa->sa_data)) 627 if (!is_valid_ether_addr(sa->sa_data))
628 return -EADDRNOTAVAIL; 628 return -EADDRNOTAVAIL;
629 memcpy(oldMac, dev->dev_addr, ETH_ALEN); 629 memcpy(oldMac, dev->dev_addr, ETH_ALEN);
630 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
631 memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN); 630 memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN);
632 netif_addr_lock_bh(dev); 631 netif_addr_lock_bh(dev);
633 update_hash_table_mac_address(pep, oldMac, dev->dev_addr); 632 update_hash_table_mac_address(pep, oldMac, dev->dev_addr);
diff --git a/drivers/net/ethernet/micrel/ks8842.c b/drivers/net/ethernet/micrel/ks8842.c
index b71eb39ab448..fbcb9e74d7fc 100644
--- a/drivers/net/ethernet/micrel/ks8842.c
+++ b/drivers/net/ethernet/micrel/ks8842.c
@@ -1080,7 +1080,6 @@ 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;
1084 memcpy(netdev->dev_addr, mac, netdev->addr_len); 1083 memcpy(netdev->dev_addr, mac, netdev->addr_len);
1085 1084
1086 ks8842_write_mac_addr(adapter, mac); 1085 ks8842_write_mac_addr(adapter, mac);
diff --git a/drivers/net/ethernet/micrel/ks8851.c b/drivers/net/ethernet/micrel/ks8851.c
index 286816a4e783..d59bc0e151b3 100644
--- a/drivers/net/ethernet/micrel/ks8851.c
+++ b/drivers/net/ethernet/micrel/ks8851.c
@@ -1052,7 +1052,6 @@ static int ks8851_set_mac_address(struct net_device *dev, void *addr)
1052 if (!is_valid_ether_addr(sa->sa_data)) 1052 if (!is_valid_ether_addr(sa->sa_data))
1053 return -EADDRNOTAVAIL; 1053 return -EADDRNOTAVAIL;
1054 1054
1055 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
1056 memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN); 1055 memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN);
1057 return ks8851_write_mac_addr(dev); 1056 return ks8851_write_mac_addr(dev);
1058} 1057}
diff --git a/drivers/net/ethernet/micrel/ks8851_mll.c b/drivers/net/ethernet/micrel/ks8851_mll.c
index ef8f9f92e547..a343066f7b43 100644
--- a/drivers/net/ethernet/micrel/ks8851_mll.c
+++ b/drivers/net/ethernet/micrel/ks8851_mll.c
@@ -1237,7 +1237,6 @@ static int ks_set_mac_address(struct net_device *netdev, void *paddr)
1237 struct sockaddr *addr = paddr; 1237 struct sockaddr *addr = paddr;
1238 u8 *da; 1238 u8 *da;
1239 1239
1240 netdev->addr_assign_type &= ~NET_ADDR_RANDOM;
1241 memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len); 1240 memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
1242 1241
1243 da = (u8 *)netdev->dev_addr; 1242 da = (u8 *)netdev->dev_addr;
diff --git a/drivers/net/ethernet/microchip/enc28j60.c b/drivers/net/ethernet/microchip/enc28j60.c
index a99456c3dd87..5d98a9f7bfc7 100644
--- a/drivers/net/ethernet/microchip/enc28j60.c
+++ b/drivers/net/ethernet/microchip/enc28j60.c
@@ -527,7 +527,6 @@ 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;
531 memcpy(dev->dev_addr, address->sa_data, dev->addr_len); 530 memcpy(dev->dev_addr, address->sa_data, dev->addr_len);
532 return enc28j60_set_hw_macaddr(dev); 531 return enc28j60_set_hw_macaddr(dev);
533} 532}
diff --git a/drivers/net/ethernet/nvidia/forcedeth.c b/drivers/net/ethernet/nvidia/forcedeth.c
index 653487dc7b52..b53bf9db471a 100644
--- a/drivers/net/ethernet/nvidia/forcedeth.c
+++ b/drivers/net/ethernet/nvidia/forcedeth.c
@@ -3025,7 +3025,6 @@ static int nv_set_mac_address(struct net_device *dev, void *addr)
3025 3025
3026 /* synchronized against open : rtnl_lock() held by caller */ 3026 /* synchronized against open : rtnl_lock() held by caller */
3027 memcpy(dev->dev_addr, macaddr->sa_data, ETH_ALEN); 3027 memcpy(dev->dev_addr, macaddr->sa_data, ETH_ALEN);
3028 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
3029 3028
3030 if (netif_running(dev)) { 3029 if (netif_running(dev)) {
3031 netif_tx_lock_bh(dev); 3030 netif_tx_lock_bh(dev);
diff --git a/drivers/net/ethernet/octeon/octeon_mgmt.c b/drivers/net/ethernet/octeon/octeon_mgmt.c
index b5499198e029..b4a842c3b5c4 100644
--- a/drivers/net/ethernet/octeon/octeon_mgmt.c
+++ b/drivers/net/ethernet/octeon/octeon_mgmt.c
@@ -1534,12 +1534,10 @@ static int octeon_mgmt_probe(struct platform_device *pdev)
1534 1534
1535 mac = of_get_mac_address(pdev->dev.of_node); 1535 mac = of_get_mac_address(pdev->dev.of_node);
1536 1536
1537 if (mac && is_valid_ether_addr(mac)) { 1537 if (mac && is_valid_ether_addr(mac))
1538 memcpy(netdev->dev_addr, mac, ETH_ALEN); 1538 memcpy(netdev->dev_addr, mac, ETH_ALEN);
1539 netdev->addr_assign_type &= ~NET_ADDR_RANDOM; 1539 else
1540 } else {
1541 eth_hw_addr_random(netdev); 1540 eth_hw_addr_random(netdev);
1542 }
1543 1541
1544 p->phy_np = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0); 1542 p->phy_np = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0);
1545 1543
diff --git a/drivers/net/ethernet/smsc/smsc911x.c b/drivers/net/ethernet/smsc/smsc911x.c
index e112877d15d3..04ff63cb6544 100644
--- a/drivers/net/ethernet/smsc/smsc911x.c
+++ b/drivers/net/ethernet/smsc/smsc911x.c
@@ -1831,7 +1831,6 @@ static int smsc911x_set_mac_address(struct net_device *dev, void *p)
1831 if (!is_valid_ether_addr(addr->sa_data)) 1831 if (!is_valid_ether_addr(addr->sa_data))
1832 return -EADDRNOTAVAIL; 1832 return -EADDRNOTAVAIL;
1833 1833
1834 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
1835 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN); 1834 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
1836 1835
1837 spin_lock_irq(&pdata->mac_lock); 1836 spin_lock_irq(&pdata->mac_lock);
diff --git a/drivers/net/ethernet/ti/davinci_emac.c b/drivers/net/ethernet/ti/davinci_emac.c
index 2a3e2c56bc60..6841a22c8621 100644
--- a/drivers/net/ethernet/ti/davinci_emac.c
+++ b/drivers/net/ethernet/ti/davinci_emac.c
@@ -1264,7 +1264,6 @@ static int emac_dev_setmac_addr(struct net_device *ndev, void *addr)
1264 /* Store mac addr in priv and rx channel and set it in EMAC hw */ 1264 /* Store mac addr in priv and rx channel and set it in EMAC hw */
1265 memcpy(priv->mac_addr, sa->sa_data, ndev->addr_len); 1265 memcpy(priv->mac_addr, sa->sa_data, ndev->addr_len);
1266 memcpy(ndev->dev_addr, sa->sa_data, ndev->addr_len); 1266 memcpy(ndev->dev_addr, sa->sa_data, ndev->addr_len);
1267 ndev->addr_assign_type &= ~NET_ADDR_RANDOM;
1268 1267
1269 /* MAC address is configured only after the interface is enabled. */ 1268 /* MAC address is configured only after the interface is enabled. */
1270 if (netif_running(ndev)) { 1269 if (netif_running(ndev)) {
diff --git a/drivers/net/ethernet/tile/tilepro.c b/drivers/net/ethernet/tile/tilepro.c
index 96070e9b50dc..36435499814b 100644
--- a/drivers/net/ethernet/tile/tilepro.c
+++ b/drivers/net/ethernet/tile/tilepro.c
@@ -2195,7 +2195,6 @@ static int tile_net_set_mac_address(struct net_device *dev, void *p)
2195 2195
2196 /* ISSUE: Note that "dev_addr" is now a pointer. */ 2196 /* ISSUE: Note that "dev_addr" is now a pointer. */
2197 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); 2197 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
2198 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
2199 2198
2200 return 0; 2199 return 0;
2201} 2200}
diff --git a/drivers/net/ethernet/wiznet/w5100.c b/drivers/net/ethernet/wiznet/w5100.c
index 352383890326..545043cc4c0b 100644
--- a/drivers/net/ethernet/wiznet/w5100.c
+++ b/drivers/net/ethernet/wiznet/w5100.c
@@ -570,7 +570,6 @@ static int w5100_set_macaddr(struct net_device *ndev, void *addr)
570 if (!is_valid_ether_addr(sock_addr->sa_data)) 570 if (!is_valid_ether_addr(sock_addr->sa_data))
571 return -EADDRNOTAVAIL; 571 return -EADDRNOTAVAIL;
572 memcpy(ndev->dev_addr, sock_addr->sa_data, ETH_ALEN); 572 memcpy(ndev->dev_addr, sock_addr->sa_data, ETH_ALEN);
573 ndev->addr_assign_type &= ~NET_ADDR_RANDOM;
574 w5100_write_macaddr(priv); 573 w5100_write_macaddr(priv);
575 return 0; 574 return 0;
576} 575}
diff --git a/drivers/net/ethernet/wiznet/w5300.c b/drivers/net/ethernet/wiznet/w5300.c
index 9d1d986f8d40..7cbd0e6fc6f3 100644
--- a/drivers/net/ethernet/wiznet/w5300.c
+++ b/drivers/net/ethernet/wiznet/w5300.c
@@ -490,7 +490,6 @@ static int w5300_set_macaddr(struct net_device *ndev, void *addr)
490 if (!is_valid_ether_addr(sock_addr->sa_data)) 490 if (!is_valid_ether_addr(sock_addr->sa_data))
491 return -EADDRNOTAVAIL; 491 return -EADDRNOTAVAIL;
492 memcpy(ndev->dev_addr, sock_addr->sa_data, ETH_ALEN); 492 memcpy(ndev->dev_addr, sock_addr->sa_data, ETH_ALEN);
493 ndev->addr_assign_type &= ~NET_ADDR_RANDOM;
494 w5300_write_macaddr(priv); 493 w5300_write_macaddr(priv);
495 return 0; 494 return 0;
496} 495}
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index 68a43fe602e7..80c6f927a7b4 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
@@ -375,7 +375,6 @@ static int macvlan_set_mac_address(struct net_device *dev, void *p)
375 375
376 if (!(dev->flags & IFF_UP)) { 376 if (!(dev->flags & IFF_UP)) {
377 /* Just copy in the new address */ 377 /* Just copy in the new address */
378 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
379 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN); 378 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
380 } else { 379 } else {
381 /* Rehash and update the device filters */ 380 /* Rehash and update the device filters */
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
index 78c7d8724614..2ea4f0ec54b0 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -1500,7 +1500,6 @@ static int team_set_mac_address(struct net_device *dev, void *p)
1500 if (dev->type == ARPHRD_ETHER && !is_valid_ether_addr(addr->sa_data)) 1500 if (dev->type == ARPHRD_ETHER && !is_valid_ether_addr(addr->sa_data))
1501 return -EADDRNOTAVAIL; 1501 return -EADDRNOTAVAIL;
1502 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); 1502 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
1503 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
1504 rcu_read_lock(); 1503 rcu_read_lock();
1505 list_for_each_entry_rcu(port, &team->port_list, list) 1504 list_for_each_entry_rcu(port, &team->port_list, list)
1506 if (team->ops.port_change_dev_addr) 1505 if (team->ops.port_change_dev_addr)
@@ -1770,7 +1769,6 @@ static void team_setup_by_port(struct net_device *dev,
1770 dev->mtu = port_dev->mtu; 1769 dev->mtu = port_dev->mtu;
1771 memcpy(dev->broadcast, port_dev->broadcast, port_dev->addr_len); 1770 memcpy(dev->broadcast, port_dev->broadcast, port_dev->addr_len);
1772 memcpy(dev->dev_addr, port_dev->dev_addr, port_dev->addr_len); 1771 memcpy(dev->dev_addr, port_dev->dev_addr, port_dev->addr_len);
1773 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
1774} 1772}
1775 1773
1776static int team_dev_type_check_change(struct net_device *dev, 1774static int team_dev_type_check_change(struct net_device *dev,
diff --git a/drivers/staging/octeon/ethernet.c b/drivers/staging/octeon/ethernet.c
index ef32dc1bbc80..9a2ec251ae4d 100644
--- a/drivers/staging/octeon/ethernet.c
+++ b/drivers/staging/octeon/ethernet.c
@@ -453,12 +453,10 @@ int cvm_oct_common_init(struct net_device *dev)
453 if (priv->of_node) 453 if (priv->of_node)
454 mac = of_get_mac_address(priv->of_node); 454 mac = of_get_mac_address(priv->of_node);
455 455
456 if (mac && is_valid_ether_addr(mac)) { 456 if (mac && is_valid_ether_addr(mac))
457 memcpy(dev->dev_addr, mac, ETH_ALEN); 457 memcpy(dev->dev_addr, mac, ETH_ALEN);
458 dev->addr_assign_type &= ~NET_ADDR_RANDOM; 458 else
459 } else {
460 eth_hw_addr_random(dev); 459 eth_hw_addr_random(dev);
461 }
462 460
463 /* 461 /*
464 * Force the interface to use the POW send if always_use_pow 462 * Force the interface to use the POW send if always_use_pow
diff --git a/net/batman-adv/soft-interface.c b/net/batman-adv/soft-interface.c
index 6b548fde8e04..fa388b2c60d7 100644
--- a/net/batman-adv/soft-interface.c
+++ b/net/batman-adv/soft-interface.c
@@ -124,7 +124,6 @@ static int batadv_interface_set_mac_addr(struct net_device *dev, void *p)
124 batadv_tt_local_add(dev, addr->sa_data, BATADV_NULL_IFINDEX); 124 batadv_tt_local_add(dev, addr->sa_data, BATADV_NULL_IFINDEX);
125 } 125 }
126 126
127 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
128 return 0; 127 return 0;
129} 128}
130 129
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
index 7c78e2640190..38974f70ec7b 100644
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
@@ -172,7 +172,6 @@ static int br_set_mac_address(struct net_device *dev, void *p)
172 172
173 spin_lock_bh(&br->lock); 173 spin_lock_bh(&br->lock);
174 if (!ether_addr_equal(dev->dev_addr, addr->sa_data)) { 174 if (!ether_addr_equal(dev->dev_addr, addr->sa_data)) {
175 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
176 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN); 175 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
177 br_fdb_change_mac_address(br, addr->sa_data); 176 br_fdb_change_mac_address(br, addr->sa_data);
178 br_stp_change_bridge_id(br, addr->sa_data); 177 br_stp_change_bridge_id(br, addr->sa_data);
diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c
index 4efad533e5f6..bc39c8c8f589 100644
--- a/net/ethernet/eth.c
+++ b/net/ethernet/eth.c
@@ -290,8 +290,6 @@ int eth_mac_addr(struct net_device *dev, void *p)
290 if (!is_valid_ether_addr(addr->sa_data)) 290 if (!is_valid_ether_addr(addr->sa_data))
291 return -EADDRNOTAVAIL; 291 return -EADDRNOTAVAIL;
292 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN); 292 memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
293 /* if device marked as NET_ADDR_RANDOM, reset it */
294 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
295 return 0; 293 return 0;
296} 294}
297EXPORT_SYMBOL(eth_mac_addr); 295EXPORT_SYMBOL(eth_mac_addr);
diff --git a/net/openvswitch/vport-internal_dev.c b/net/openvswitch/vport-internal_dev.c
index 5d460c37df07..44cd5c3a4c22 100644
--- a/net/openvswitch/vport-internal_dev.c
+++ b/net/openvswitch/vport-internal_dev.c
@@ -69,7 +69,6 @@ static int internal_dev_mac_addr(struct net_device *dev, void *p)
69 69
70 if (!is_valid_ether_addr(addr->sa_data)) 70 if (!is_valid_ether_addr(addr->sa_data))
71 return -EADDRNOTAVAIL; 71 return -EADDRNOTAVAIL;
72 dev->addr_assign_type &= ~NET_ADDR_RANDOM;
73 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); 72 memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
74 return 0; 73 return 0;
75} 74}