diff options
author | Jiri Pirko <jiri@resnulli.us> | 2013-01-07 20:38:26 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-01-08 21:00:48 -0500 |
commit | aaeb6cdfa5c07533c2cd6d2c381374c69f7db9dc (patch) | |
tree | f6d51541dbee2d6e1810fd7b5e44d149b1a01750 /drivers | |
parent | 948b337e62ca96b6e7de06fdd5f6fe44769d7e9c (diff) |
remove init of dev->perm_addr in drivers
perm_addr is initialized correctly in register_netdevice() so to init it in
drivers is no longer needed.
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
51 files changed, 42 insertions, 128 deletions
diff --git a/drivers/infiniband/hw/nes/nes_nic.c b/drivers/infiniband/hw/nes/nes_nic.c index 177cf7664726..85cf4d1ac442 100644 --- a/drivers/infiniband/hw/nes/nes_nic.c +++ b/drivers/infiniband/hw/nes/nes_nic.c | |||
@@ -1705,7 +1705,6 @@ struct net_device *nes_netdev_init(struct nes_device *nesdev, | |||
1705 | netdev->dev_addr[3] = (u8)(u64temp>>16); | 1705 | netdev->dev_addr[3] = (u8)(u64temp>>16); |
1706 | netdev->dev_addr[4] = (u8)(u64temp>>8); | 1706 | netdev->dev_addr[4] = (u8)(u64temp>>8); |
1707 | netdev->dev_addr[5] = (u8)u64temp; | 1707 | netdev->dev_addr[5] = (u8)u64temp; |
1708 | memcpy(netdev->perm_addr, netdev->dev_addr, 6); | ||
1709 | 1708 | ||
1710 | netdev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_RXCSUM | NETIF_F_HW_VLAN_RX; | 1709 | netdev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_RXCSUM | NETIF_F_HW_VLAN_RX; |
1711 | if ((nesvnic->logical_port < 2) || (nesdev->nesadapter->hw_rev != NE020_REV)) | 1710 | if ((nesvnic->logical_port < 2) || (nesdev->nesadapter->hw_rev != NE020_REV)) |
diff --git a/drivers/net/ethernet/3com/3c59x.c b/drivers/net/ethernet/3com/3c59x.c index ed0feb3cc6fa..1928e2001587 100644 --- a/drivers/net/ethernet/3com/3c59x.c +++ b/drivers/net/ethernet/3com/3c59x.c | |||
@@ -1293,7 +1293,6 @@ static int vortex_probe1(struct device *gendev, void __iomem *ioaddr, int irq, | |||
1293 | pr_cont(" ***INVALID CHECKSUM %4.4x*** ", checksum); | 1293 | pr_cont(" ***INVALID CHECKSUM %4.4x*** ", checksum); |
1294 | for (i = 0; i < 3; i++) | 1294 | for (i = 0; i < 3; i++) |
1295 | ((__be16 *)dev->dev_addr)[i] = htons(eeprom[i + 10]); | 1295 | ((__be16 *)dev->dev_addr)[i] = htons(eeprom[i + 10]); |
1296 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
1297 | if (print_info) | 1296 | if (print_info) |
1298 | pr_cont(" %pM", dev->dev_addr); | 1297 | pr_cont(" %pM", dev->dev_addr); |
1299 | /* Unfortunately an all zero eeprom passes the checksum and this | 1298 | /* Unfortunately an all zero eeprom passes the checksum and this |
diff --git a/drivers/net/ethernet/8390/ne2k-pci.c b/drivers/net/ethernet/8390/ne2k-pci.c index c0c127913dec..587a885de259 100644 --- a/drivers/net/ethernet/8390/ne2k-pci.c +++ b/drivers/net/ethernet/8390/ne2k-pci.c | |||
@@ -374,7 +374,6 @@ static int ne2k_pci_init_one(struct pci_dev *pdev, | |||
374 | NS8390_init(dev, 0); | 374 | NS8390_init(dev, 0); |
375 | 375 | ||
376 | memcpy(dev->dev_addr, SA_prom, dev->addr_len); | 376 | memcpy(dev->dev_addr, SA_prom, dev->addr_len); |
377 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
378 | 377 | ||
379 | i = register_netdev(dev); | 378 | i = register_netdev(dev); |
380 | if (i) | 379 | if (i) |
diff --git a/drivers/net/ethernet/amd/pcnet32.c b/drivers/net/ethernet/amd/pcnet32.c index a227ccdcb9b5..74cfc017adcf 100644 --- a/drivers/net/ethernet/amd/pcnet32.c +++ b/drivers/net/ethernet/amd/pcnet32.c | |||
@@ -1688,10 +1688,9 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev) | |||
1688 | memcpy(dev->dev_addr, promaddr, 6); | 1688 | memcpy(dev->dev_addr, promaddr, 6); |
1689 | } | 1689 | } |
1690 | } | 1690 | } |
1691 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
1692 | 1691 | ||
1693 | /* if the ethernet address is not valid, force to 00:00:00:00:00:00 */ | 1692 | /* if the ethernet address is not valid, force to 00:00:00:00:00:00 */ |
1694 | if (!is_valid_ether_addr(dev->perm_addr)) | 1693 | if (!is_valid_ether_addr(dev->dev_addr)) |
1695 | memset(dev->dev_addr, 0, ETH_ALEN); | 1694 | memset(dev->dev_addr, 0, ETH_ALEN); |
1696 | 1695 | ||
1697 | if (pcnet32_debug & NETIF_MSG_PROBE) { | 1696 | if (pcnet32_debug & NETIF_MSG_PROBE) { |
diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c index 7af95ce971ec..8df02ba2ce46 100644 --- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c +++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c | |||
@@ -2542,7 +2542,6 @@ static int atl1c_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
2542 | netdev->addr_assign_type = NET_ADDR_RANDOM; | 2542 | netdev->addr_assign_type = NET_ADDR_RANDOM; |
2543 | } | 2543 | } |
2544 | memcpy(netdev->dev_addr, adapter->hw.mac_addr, netdev->addr_len); | 2544 | memcpy(netdev->dev_addr, adapter->hw.mac_addr, netdev->addr_len); |
2545 | memcpy(netdev->perm_addr, adapter->hw.mac_addr, netdev->addr_len); | ||
2546 | if (netif_msg_probe(adapter)) | 2545 | if (netif_msg_probe(adapter)) |
2547 | dev_dbg(&pdev->dev, "mac address : %pM\n", | 2546 | dev_dbg(&pdev->dev, "mac address : %pM\n", |
2548 | adapter->hw.mac_addr); | 2547 | adapter->hw.mac_addr); |
diff --git a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c index e4466a36d106..cf79d932fa35 100644 --- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c +++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c | |||
@@ -2342,7 +2342,6 @@ static int atl1e_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
2342 | } | 2342 | } |
2343 | 2343 | ||
2344 | memcpy(netdev->dev_addr, adapter->hw.mac_addr, netdev->addr_len); | 2344 | memcpy(netdev->dev_addr, adapter->hw.mac_addr, netdev->addr_len); |
2345 | memcpy(netdev->perm_addr, adapter->hw.mac_addr, netdev->addr_len); | ||
2346 | netdev_dbg(netdev, "mac address : %pM\n", adapter->hw.mac_addr); | 2345 | netdev_dbg(netdev, "mac address : %pM\n", adapter->hw.mac_addr); |
2347 | 2346 | ||
2348 | INIT_WORK(&adapter->reset_task, atl1e_reset_task); | 2347 | INIT_WORK(&adapter->reset_task, atl1e_reset_task); |
diff --git a/drivers/net/ethernet/atheros/atlx/atl2.c b/drivers/net/ethernet/atheros/atlx/atl2.c index aab83a2d4e07..1278b47022e0 100644 --- a/drivers/net/ethernet/atheros/atlx/atl2.c +++ b/drivers/net/ethernet/atheros/atlx/atl2.c | |||
@@ -1433,14 +1433,7 @@ static int atl2_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
1433 | /* copy the MAC address out of the EEPROM */ | 1433 | /* copy the MAC address out of the EEPROM */ |
1434 | atl2_read_mac_addr(&adapter->hw); | 1434 | atl2_read_mac_addr(&adapter->hw); |
1435 | memcpy(netdev->dev_addr, adapter->hw.mac_addr, netdev->addr_len); | 1435 | memcpy(netdev->dev_addr, adapter->hw.mac_addr, netdev->addr_len); |
1436 | /* FIXME: do we still need this? */ | ||
1437 | #ifdef ETHTOOL_GPERMADDR | ||
1438 | memcpy(netdev->perm_addr, adapter->hw.mac_addr, netdev->addr_len); | ||
1439 | |||
1440 | if (!is_valid_ether_addr(netdev->perm_addr)) { | ||
1441 | #else | ||
1442 | if (!is_valid_ether_addr(netdev->dev_addr)) { | 1436 | if (!is_valid_ether_addr(netdev->dev_addr)) { |
1443 | #endif | ||
1444 | err = -EIO; | 1437 | err = -EIO; |
1445 | goto err_eeprom; | 1438 | goto err_eeprom; |
1446 | } | 1439 | } |
diff --git a/drivers/net/ethernet/broadcom/b44.c b/drivers/net/ethernet/broadcom/b44.c index 219f6226fcb1..3ba6be689e7d 100644 --- a/drivers/net/ethernet/broadcom/b44.c +++ b/drivers/net/ethernet/broadcom/b44.c | |||
@@ -2111,8 +2111,6 @@ static int b44_get_invariants(struct b44 *bp) | |||
2111 | return -EINVAL; | 2111 | return -EINVAL; |
2112 | } | 2112 | } |
2113 | 2113 | ||
2114 | memcpy(bp->dev->perm_addr, bp->dev->dev_addr, bp->dev->addr_len); | ||
2115 | |||
2116 | bp->imask = IMASK_DEF; | 2114 | bp->imask = IMASK_DEF; |
2117 | 2115 | ||
2118 | /* XXX - really required? | 2116 | /* XXX - really required? |
diff --git a/drivers/net/ethernet/broadcom/bnx2.c b/drivers/net/ethernet/broadcom/bnx2.c index a1adfaf87f49..2f0ba8f2fd6c 100644 --- a/drivers/net/ethernet/broadcom/bnx2.c +++ b/drivers/net/ethernet/broadcom/bnx2.c | |||
@@ -8543,7 +8543,6 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
8543 | pci_set_drvdata(pdev, dev); | 8543 | pci_set_drvdata(pdev, dev); |
8544 | 8544 | ||
8545 | memcpy(dev->dev_addr, bp->mac_addr, 6); | 8545 | memcpy(dev->dev_addr, bp->mac_addr, 6); |
8546 | memcpy(dev->perm_addr, bp->mac_addr, 6); | ||
8547 | 8546 | ||
8548 | dev->hw_features = NETIF_F_IP_CSUM | NETIF_F_SG | | 8547 | dev->hw_features = NETIF_F_IP_CSUM | NETIF_F_SG | |
8549 | NETIF_F_TSO | NETIF_F_TSO_ECN | | 8548 | NETIF_F_TSO | NETIF_F_TSO_ECN | |
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c index 5fcaee193e7d..c6a208974f20 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | |||
@@ -10806,7 +10806,6 @@ static void bnx2x_get_mac_hwinfo(struct bnx2x *bp) | |||
10806 | } | 10806 | } |
10807 | 10807 | ||
10808 | memcpy(bp->link_params.mac_addr, bp->dev->dev_addr, ETH_ALEN); | 10808 | memcpy(bp->link_params.mac_addr, bp->dev->dev_addr, ETH_ALEN); |
10809 | memcpy(bp->dev->perm_addr, bp->dev->dev_addr, ETH_ALEN); | ||
10810 | 10809 | ||
10811 | if (!bnx2x_is_valid_ether_addr(bp, bp->dev->dev_addr)) | 10810 | if (!bnx2x_is_valid_ether_addr(bp, bp->dev->dev_addr)) |
10812 | dev_err(&bp->pdev->dev, | 10811 | dev_err(&bp->pdev->dev, |
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c index bc4d98991a32..b7696eb2029e 100644 --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c | |||
@@ -15772,7 +15772,6 @@ static int tg3_get_macaddr_sparc(struct tg3 *tp) | |||
15772 | addr = of_get_property(dp, "local-mac-address", &len); | 15772 | addr = of_get_property(dp, "local-mac-address", &len); |
15773 | if (addr && len == 6) { | 15773 | if (addr && len == 6) { |
15774 | memcpy(dev->dev_addr, addr, 6); | 15774 | memcpy(dev->dev_addr, addr, 6); |
15775 | memcpy(dev->perm_addr, dev->dev_addr, 6); | ||
15776 | return 0; | 15775 | return 0; |
15777 | } | 15776 | } |
15778 | return -ENODEV; | 15777 | return -ENODEV; |
@@ -15783,7 +15782,6 @@ static int tg3_get_default_macaddr_sparc(struct tg3 *tp) | |||
15783 | struct net_device *dev = tp->dev; | 15782 | struct net_device *dev = tp->dev; |
15784 | 15783 | ||
15785 | memcpy(dev->dev_addr, idprom->id_ethaddr, 6); | 15784 | memcpy(dev->dev_addr, idprom->id_ethaddr, 6); |
15786 | memcpy(dev->perm_addr, idprom->id_ethaddr, 6); | ||
15787 | return 0; | 15785 | return 0; |
15788 | } | 15786 | } |
15789 | #endif | 15787 | #endif |
@@ -15860,7 +15858,6 @@ static int tg3_get_device_address(struct tg3 *tp) | |||
15860 | #endif | 15858 | #endif |
15861 | return -EINVAL; | 15859 | return -EINVAL; |
15862 | } | 15860 | } |
15863 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
15864 | return 0; | 15861 | return 0; |
15865 | } | 15862 | } |
15866 | 15863 | ||
diff --git a/drivers/net/ethernet/chelsio/cxgb3/t3_hw.c b/drivers/net/ethernet/chelsio/cxgb3/t3_hw.c index 3dee68612c9e..c74a898fcd4f 100644 --- a/drivers/net/ethernet/chelsio/cxgb3/t3_hw.c +++ b/drivers/net/ethernet/chelsio/cxgb3/t3_hw.c | |||
@@ -3725,8 +3725,6 @@ int t3_prep_adapter(struct adapter *adapter, const struct adapter_info *ai, | |||
3725 | 3725 | ||
3726 | memcpy(adapter->port[i]->dev_addr, hw_addr, | 3726 | memcpy(adapter->port[i]->dev_addr, hw_addr, |
3727 | ETH_ALEN); | 3727 | ETH_ALEN); |
3728 | memcpy(adapter->port[i]->perm_addr, hw_addr, | ||
3729 | ETH_ALEN); | ||
3730 | init_link_config(&p->link_config, p->phy.caps); | 3728 | init_link_config(&p->link_config, p->phy.caps); |
3731 | p->phy.ops->power_down(&p->phy, 1); | 3729 | p->phy.ops->power_down(&p->phy, 1); |
3732 | 3730 | ||
diff --git a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c index 22f3af5166bf..4ce62031f62f 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c +++ b/drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | |||
@@ -3603,7 +3603,6 @@ int t4_port_init(struct adapter *adap, int mbox, int pf, int vf) | |||
3603 | p->lport = j; | 3603 | p->lport = j; |
3604 | p->rss_size = rss_size; | 3604 | p->rss_size = rss_size; |
3605 | memcpy(adap->port[i]->dev_addr, addr, ETH_ALEN); | 3605 | memcpy(adap->port[i]->dev_addr, addr, ETH_ALEN); |
3606 | memcpy(adap->port[i]->perm_addr, addr, ETH_ALEN); | ||
3607 | adap->port[i]->dev_id = j; | 3606 | adap->port[i]->dev_id = j; |
3608 | 3607 | ||
3609 | ret = ntohl(c.u.info.lstatus_to_modtype); | 3608 | ret = ntohl(c.u.info.lstatus_to_modtype); |
diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/adapter.h b/drivers/net/ethernet/chelsio/cxgb4vf/adapter.h index 611396c4b381..68eaa9c88c7d 100644 --- a/drivers/net/ethernet/chelsio/cxgb4vf/adapter.h +++ b/drivers/net/ethernet/chelsio/cxgb4vf/adapter.h | |||
@@ -466,7 +466,6 @@ static inline void t4_os_set_hw_addr(struct adapter *adapter, int pidx, | |||
466 | u8 hw_addr[]) | 466 | u8 hw_addr[]) |
467 | { | 467 | { |
468 | memcpy(adapter->port[pidx]->dev_addr, hw_addr, ETH_ALEN); | 468 | memcpy(adapter->port[pidx]->dev_addr, hw_addr, ETH_ALEN); |
469 | memcpy(adapter->port[pidx]->perm_addr, hw_addr, ETH_ALEN); | ||
470 | } | 469 | } |
471 | 470 | ||
472 | /** | 471 | /** |
diff --git a/drivers/net/ethernet/dlink/sundance.c b/drivers/net/ethernet/dlink/sundance.c index 28fc11b2f1ea..50d9c6315930 100644 --- a/drivers/net/ethernet/dlink/sundance.c +++ b/drivers/net/ethernet/dlink/sundance.c | |||
@@ -530,7 +530,6 @@ static int sundance_probe1(struct pci_dev *pdev, | |||
530 | for (i = 0; i < 3; i++) | 530 | for (i = 0; i < 3; i++) |
531 | ((__le16 *)dev->dev_addr)[i] = | 531 | ((__le16 *)dev->dev_addr)[i] = |
532 | cpu_to_le16(eeprom_read(ioaddr, i + EEPROM_SA_OFFSET)); | 532 | cpu_to_le16(eeprom_read(ioaddr, i + EEPROM_SA_OFFSET)); |
533 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
534 | 533 | ||
535 | np = netdev_priv(dev); | 534 | np = netdev_priv(dev); |
536 | np->base = ioaddr; | 535 | np->base = ioaddr; |
diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c index a59f0779e1c3..ec800b093e7e 100644 --- a/drivers/net/ethernet/intel/e100.c +++ b/drivers/net/ethernet/intel/e100.c | |||
@@ -2928,8 +2928,7 @@ static int e100_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
2928 | e100_phy_init(nic); | 2928 | e100_phy_init(nic); |
2929 | 2929 | ||
2930 | memcpy(netdev->dev_addr, nic->eeprom, ETH_ALEN); | 2930 | memcpy(netdev->dev_addr, nic->eeprom, ETH_ALEN); |
2931 | memcpy(netdev->perm_addr, nic->eeprom, ETH_ALEN); | 2931 | if (!is_valid_ether_addr(netdev->dev_addr)) { |
2932 | if (!is_valid_ether_addr(netdev->perm_addr)) { | ||
2933 | if (!eeprom_bad_csum_allow) { | 2932 | if (!eeprom_bad_csum_allow) { |
2934 | netif_err(nic, probe, nic->netdev, "Invalid MAC address from EEPROM, aborting\n"); | 2933 | netif_err(nic, probe, nic->netdev, "Invalid MAC address from EEPROM, aborting\n"); |
2935 | err = -EAGAIN; | 2934 | err = -EAGAIN; |
diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c index 294da56b824c..b20fff134378 100644 --- a/drivers/net/ethernet/intel/e1000/e1000_main.c +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c | |||
@@ -1123,9 +1123,8 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
1123 | } | 1123 | } |
1124 | /* don't block initalization here due to bad MAC address */ | 1124 | /* don't block initalization here due to bad MAC address */ |
1125 | memcpy(netdev->dev_addr, hw->mac_addr, netdev->addr_len); | 1125 | memcpy(netdev->dev_addr, hw->mac_addr, netdev->addr_len); |
1126 | memcpy(netdev->perm_addr, hw->mac_addr, netdev->addr_len); | ||
1127 | 1126 | ||
1128 | if (!is_valid_ether_addr(netdev->perm_addr)) | 1127 | if (!is_valid_ether_addr(netdev->dev_addr)) |
1129 | e_err(probe, "Invalid MAC Address\n"); | 1128 | e_err(probe, "Invalid MAC Address\n"); |
1130 | 1129 | ||
1131 | 1130 | ||
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index fbf75fdca994..337644dda14d 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c | |||
@@ -6228,11 +6228,10 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
6228 | "NVM Read Error while reading MAC address\n"); | 6228 | "NVM Read Error while reading MAC address\n"); |
6229 | 6229 | ||
6230 | memcpy(netdev->dev_addr, adapter->hw.mac.addr, netdev->addr_len); | 6230 | memcpy(netdev->dev_addr, adapter->hw.mac.addr, netdev->addr_len); |
6231 | memcpy(netdev->perm_addr, adapter->hw.mac.addr, netdev->addr_len); | ||
6232 | 6231 | ||
6233 | if (!is_valid_ether_addr(netdev->perm_addr)) { | 6232 | if (!is_valid_ether_addr(netdev->dev_addr)) { |
6234 | dev_err(&pdev->dev, "Invalid MAC Address: %pM\n", | 6233 | dev_err(&pdev->dev, "Invalid MAC Address: %pM\n", |
6235 | netdev->perm_addr); | 6234 | netdev->dev_addr); |
6236 | err = -EIO; | 6235 | err = -EIO; |
6237 | goto err_eeprom; | 6236 | goto err_eeprom; |
6238 | } | 6237 | } |
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index 31cfe2ec75df..a0a31b55a073 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c | |||
@@ -2022,9 +2022,8 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
2022 | dev_err(&pdev->dev, "NVM Read Error\n"); | 2022 | dev_err(&pdev->dev, "NVM Read Error\n"); |
2023 | 2023 | ||
2024 | memcpy(netdev->dev_addr, hw->mac.addr, netdev->addr_len); | 2024 | memcpy(netdev->dev_addr, hw->mac.addr, netdev->addr_len); |
2025 | memcpy(netdev->perm_addr, hw->mac.addr, netdev->addr_len); | ||
2026 | 2025 | ||
2027 | if (!is_valid_ether_addr(netdev->perm_addr)) { | 2026 | if (!is_valid_ether_addr(netdev->dev_addr)) { |
2028 | dev_err(&pdev->dev, "Invalid MAC Address\n"); | 2027 | dev_err(&pdev->dev, "Invalid MAC Address\n"); |
2029 | err = -EIO; | 2028 | err = -EIO; |
2030 | goto err_eeprom; | 2029 | goto err_eeprom; |
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c index 53281ff17315..8f66d459218f 100644 --- a/drivers/net/ethernet/intel/igbvf/netdev.c +++ b/drivers/net/ethernet/intel/igbvf/netdev.c | |||
@@ -2757,8 +2757,6 @@ static int igbvf_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
2757 | goto err_hw_init; | 2757 | goto err_hw_init; |
2758 | } | 2758 | } |
2759 | 2759 | ||
2760 | memcpy(netdev->perm_addr, netdev->dev_addr, netdev->addr_len); | ||
2761 | |||
2762 | setup_timer(&adapter->watchdog_timer, &igbvf_watchdog, | 2760 | setup_timer(&adapter->watchdog_timer, &igbvf_watchdog, |
2763 | (unsigned long) adapter); | 2761 | (unsigned long) adapter); |
2764 | 2762 | ||
diff --git a/drivers/net/ethernet/intel/ixgb/ixgb_main.c b/drivers/net/ethernet/intel/ixgb/ixgb_main.c index ae96c10251be..c7564123dd31 100644 --- a/drivers/net/ethernet/intel/ixgb/ixgb_main.c +++ b/drivers/net/ethernet/intel/ixgb/ixgb_main.c | |||
@@ -500,9 +500,8 @@ ixgb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
500 | } | 500 | } |
501 | 501 | ||
502 | ixgb_get_ee_mac_addr(&adapter->hw, netdev->dev_addr); | 502 | ixgb_get_ee_mac_addr(&adapter->hw, netdev->dev_addr); |
503 | memcpy(netdev->perm_addr, netdev->dev_addr, netdev->addr_len); | ||
504 | 503 | ||
505 | if (!is_valid_ether_addr(netdev->perm_addr)) { | 504 | if (!is_valid_ether_addr(netdev->dev_addr)) { |
506 | netif_err(adapter, probe, adapter->netdev, "Invalid MAC Address\n"); | 505 | netif_err(adapter, probe, adapter->netdev, "Invalid MAC Address\n"); |
507 | err = -EIO; | 506 | err = -EIO; |
508 | goto err_eeprom; | 507 | goto err_eeprom; |
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index 20a5af6d87d0..20d6764cedc8 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | |||
@@ -7444,9 +7444,8 @@ static int ixgbe_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
7444 | } | 7444 | } |
7445 | 7445 | ||
7446 | memcpy(netdev->dev_addr, hw->mac.perm_addr, netdev->addr_len); | 7446 | memcpy(netdev->dev_addr, hw->mac.perm_addr, netdev->addr_len); |
7447 | memcpy(netdev->perm_addr, hw->mac.perm_addr, netdev->addr_len); | ||
7448 | 7447 | ||
7449 | if (!is_valid_ether_addr(netdev->perm_addr)) { | 7448 | if (!is_valid_ether_addr(netdev->dev_addr)) { |
7450 | e_dev_err("invalid MAC address\n"); | 7449 | e_dev_err("invalid MAC address\n"); |
7451 | err = -EIO; | 7450 | err = -EIO; |
7452 | goto err_sw_init; | 7451 | goto err_sw_init; |
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c index 257357ae66c3..c27d9867e20d 100644 --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | |||
@@ -3328,8 +3328,6 @@ static int ixgbevf_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
3328 | goto err_sw_init; | 3328 | goto err_sw_init; |
3329 | 3329 | ||
3330 | /* The HW MAC address was set and/or determined in sw_init */ | 3330 | /* The HW MAC address was set and/or determined in sw_init */ |
3331 | memcpy(netdev->perm_addr, adapter->hw.mac.addr, netdev->addr_len); | ||
3332 | |||
3333 | if (!is_valid_ether_addr(netdev->dev_addr)) { | 3331 | if (!is_valid_ether_addr(netdev->dev_addr)) { |
3334 | pr_err("invalid MAC address\n"); | 3332 | pr_err("invalid MAC address\n"); |
3335 | err = -EIO; | 3333 | err = -EIO; |
diff --git a/drivers/net/ethernet/marvell/skge.c b/drivers/net/ethernet/marvell/skge.c index 5544a1fe2f94..8b08bc4b8a76 100644 --- a/drivers/net/ethernet/marvell/skge.c +++ b/drivers/net/ethernet/marvell/skge.c | |||
@@ -3855,7 +3855,6 @@ static struct net_device *skge_devinit(struct skge_hw *hw, int port, | |||
3855 | 3855 | ||
3856 | /* read the mac address */ | 3856 | /* read the mac address */ |
3857 | memcpy_fromio(dev->dev_addr, hw->regs + B2_MAC_1 + port*8, ETH_ALEN); | 3857 | memcpy_fromio(dev->dev_addr, hw->regs + B2_MAC_1 + port*8, ETH_ALEN); |
3858 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
3859 | 3858 | ||
3860 | return dev; | 3859 | return dev; |
3861 | } | 3860 | } |
diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c index 3269eb38cc57..366a12aa3c74 100644 --- a/drivers/net/ethernet/marvell/sky2.c +++ b/drivers/net/ethernet/marvell/sky2.c | |||
@@ -4801,7 +4801,6 @@ static struct net_device *sky2_init_netdev(struct sky2_hw *hw, unsigned port, | |||
4801 | 4801 | ||
4802 | /* read the mac address */ | 4802 | /* read the mac address */ |
4803 | memcpy_fromio(dev->dev_addr, hw->regs + B2_MAC_1 + port * 8, ETH_ALEN); | 4803 | memcpy_fromio(dev->dev_addr, hw->regs + B2_MAC_1 + port * 8, ETH_ALEN); |
4804 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
4805 | 4804 | ||
4806 | return dev; | 4805 | return dev; |
4807 | } | 4806 | } |
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c index 75a3f467bb5b..b4675138533a 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c | |||
@@ -1655,10 +1655,8 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port, | |||
1655 | 1655 | ||
1656 | /* Set defualt MAC */ | 1656 | /* Set defualt MAC */ |
1657 | dev->addr_len = ETH_ALEN; | 1657 | dev->addr_len = ETH_ALEN; |
1658 | for (i = 0; i < ETH_ALEN; i++) { | 1658 | for (i = 0; i < ETH_ALEN; i++) |
1659 | dev->dev_addr[ETH_ALEN - 1 - i] = (u8) (priv->mac >> (8 * i)); | 1659 | dev->dev_addr[ETH_ALEN - 1 - i] = (u8) (priv->mac >> (8 * i)); |
1660 | dev->perm_addr[ETH_ALEN - 1 - i] = (u8) (priv->mac >> (8 * i)); | ||
1661 | } | ||
1662 | 1660 | ||
1663 | /* | 1661 | /* |
1664 | * Set driver features | 1662 | * Set driver features |
diff --git a/drivers/net/ethernet/natsemi/natsemi.c b/drivers/net/ethernet/natsemi/natsemi.c index f4ad60c97eae..7a5e295588b0 100644 --- a/drivers/net/ethernet/natsemi/natsemi.c +++ b/drivers/net/ethernet/natsemi/natsemi.c | |||
@@ -862,9 +862,6 @@ static int natsemi_probe1(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
862 | prev_eedata = eedata; | 862 | prev_eedata = eedata; |
863 | } | 863 | } |
864 | 864 | ||
865 | /* Store MAC Address in perm_addr */ | ||
866 | memcpy(dev->perm_addr, dev->dev_addr, ETH_ALEN); | ||
867 | |||
868 | np = netdev_priv(dev); | 865 | np = netdev_priv(dev); |
869 | np->ioaddr = ioaddr; | 866 | np->ioaddr = ioaddr; |
870 | 867 | ||
diff --git a/drivers/net/ethernet/neterion/s2io.c b/drivers/net/ethernet/neterion/s2io.c index 7c94c089212f..bfd887382e19 100644 --- a/drivers/net/ethernet/neterion/s2io.c +++ b/drivers/net/ethernet/neterion/s2io.c | |||
@@ -8014,7 +8014,6 @@ s2io_init_nic(struct pci_dev *pdev, const struct pci_device_id *pre) | |||
8014 | /* Set the factory defined MAC address initially */ | 8014 | /* Set the factory defined MAC address initially */ |
8015 | dev->addr_len = ETH_ALEN; | 8015 | dev->addr_len = ETH_ALEN; |
8016 | memcpy(dev->dev_addr, sp->def_mac_addr, ETH_ALEN); | 8016 | memcpy(dev->dev_addr, sp->def_mac_addr, ETH_ALEN); |
8017 | memcpy(dev->perm_addr, dev->dev_addr, ETH_ALEN); | ||
8018 | 8017 | ||
8019 | /* initialize number of multicast & unicast MAC entries variables */ | 8018 | /* initialize number of multicast & unicast MAC entries variables */ |
8020 | if (sp->device_type == XFRAME_I_DEVICE) { | 8019 | if (sp->device_type == XFRAME_I_DEVICE) { |
diff --git a/drivers/net/ethernet/neterion/vxge/vxge-main.c b/drivers/net/ethernet/neterion/vxge/vxge-main.c index 7c87105ca049..794444e09492 100644 --- a/drivers/net/ethernet/neterion/vxge/vxge-main.c +++ b/drivers/net/ethernet/neterion/vxge/vxge-main.c | |||
@@ -4682,7 +4682,6 @@ vxge_probe(struct pci_dev *pdev, const struct pci_device_id *pre) | |||
4682 | /* Store the fw version for ethttool option */ | 4682 | /* Store the fw version for ethttool option */ |
4683 | strcpy(vdev->fw_version, ll_config->device_hw_info.fw_version.version); | 4683 | strcpy(vdev->fw_version, ll_config->device_hw_info.fw_version.version); |
4684 | memcpy(vdev->ndev->dev_addr, (u8 *)vdev->vpaths[0].macaddr, ETH_ALEN); | 4684 | memcpy(vdev->ndev->dev_addr, (u8 *)vdev->vpaths[0].macaddr, ETH_ALEN); |
4685 | memcpy(vdev->ndev->perm_addr, vdev->ndev->dev_addr, ETH_ALEN); | ||
4686 | 4685 | ||
4687 | /* Copy the station mac address to the list */ | 4686 | /* Copy the station mac address to the list */ |
4688 | for (i = 0; i < vdev->no_of_vpath; i++) { | 4687 | for (i = 0; i < vdev->no_of_vpath; i++) { |
diff --git a/drivers/net/ethernet/nvidia/forcedeth.c b/drivers/net/ethernet/nvidia/forcedeth.c index b53bf9db471a..ceb1617645c8 100644 --- a/drivers/net/ethernet/nvidia/forcedeth.c +++ b/drivers/net/ethernet/nvidia/forcedeth.c | |||
@@ -5730,9 +5730,8 @@ static int nv_probe(struct pci_dev *pci_dev, const struct pci_device_id *id) | |||
5730 | "%s: set workaround bit for reversed mac addr\n", | 5730 | "%s: set workaround bit for reversed mac addr\n", |
5731 | __func__); | 5731 | __func__); |
5732 | } | 5732 | } |
5733 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
5734 | 5733 | ||
5735 | if (!is_valid_ether_addr(dev->perm_addr)) { | 5734 | if (!is_valid_ether_addr(dev->dev_addr)) { |
5736 | /* | 5735 | /* |
5737 | * Bad mac address. At least one bios sets the mac address | 5736 | * Bad mac address. At least one bios sets the mac address |
5738 | * to 01:23:45:67:89:ab | 5737 | * to 01:23:45:67:89:ab |
diff --git a/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c b/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c index 6098fd4adfeb..8e40ea09d7fc 100644 --- a/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c +++ b/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c | |||
@@ -501,12 +501,11 @@ netxen_read_mac_addr(struct netxen_adapter *adapter) | |||
501 | for (i = 0; i < 6; i++) | 501 | for (i = 0; i < 6; i++) |
502 | netdev->dev_addr[i] = *(p + 5 - i); | 502 | netdev->dev_addr[i] = *(p + 5 - i); |
503 | 503 | ||
504 | memcpy(netdev->perm_addr, netdev->dev_addr, netdev->addr_len); | ||
505 | memcpy(adapter->mac_addr, netdev->dev_addr, netdev->addr_len); | 504 | memcpy(adapter->mac_addr, netdev->dev_addr, netdev->addr_len); |
506 | 505 | ||
507 | /* set station address */ | 506 | /* set station address */ |
508 | 507 | ||
509 | if (!is_valid_ether_addr(netdev->perm_addr)) | 508 | if (!is_valid_ether_addr(netdev->dev_addr)) |
510 | dev_warn(&pdev->dev, "Bad MAC address %pM.\n", netdev->dev_addr); | 509 | dev_warn(&pdev->dev, "Bad MAC address %pM.\n", netdev->dev_addr); |
511 | 510 | ||
512 | return 0; | 511 | return 0; |
diff --git a/drivers/net/ethernet/qlogic/qla3xxx.c b/drivers/net/ethernet/qlogic/qla3xxx.c index 67a679aaf29a..c0ed12d325b4 100644 --- a/drivers/net/ethernet/qlogic/qla3xxx.c +++ b/drivers/net/ethernet/qlogic/qla3xxx.c | |||
@@ -3867,7 +3867,6 @@ static int ql3xxx_probe(struct pci_dev *pdev, | |||
3867 | ndev->mtu = qdev->nvram_data.macCfg_port0.etherMtu_mac ; | 3867 | ndev->mtu = qdev->nvram_data.macCfg_port0.etherMtu_mac ; |
3868 | ql_set_mac_addr(ndev, qdev->nvram_data.funcCfg_fn0.macAddress); | 3868 | ql_set_mac_addr(ndev, qdev->nvram_data.funcCfg_fn0.macAddress); |
3869 | } | 3869 | } |
3870 | memcpy(ndev->perm_addr, ndev->dev_addr, ndev->addr_len); | ||
3871 | 3870 | ||
3872 | ndev->tx_queue_len = NUM_REQ_Q_ENTRIES; | 3871 | ndev->tx_queue_len = NUM_REQ_Q_ENTRIES; |
3873 | 3872 | ||
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c index 3655ca2de525..d331313cb164 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | |||
@@ -208,12 +208,11 @@ qlcnic_read_mac_addr(struct qlcnic_adapter *adapter) | |||
208 | return -EIO; | 208 | return -EIO; |
209 | 209 | ||
210 | memcpy(netdev->dev_addr, mac_addr, ETH_ALEN); | 210 | memcpy(netdev->dev_addr, mac_addr, ETH_ALEN); |
211 | memcpy(netdev->perm_addr, netdev->dev_addr, netdev->addr_len); | ||
212 | memcpy(adapter->mac_addr, netdev->dev_addr, netdev->addr_len); | 211 | memcpy(adapter->mac_addr, netdev->dev_addr, netdev->addr_len); |
213 | 212 | ||
214 | /* set station address */ | 213 | /* set station address */ |
215 | 214 | ||
216 | if (!is_valid_ether_addr(netdev->perm_addr)) | 215 | if (!is_valid_ether_addr(netdev->dev_addr)) |
217 | dev_warn(&pdev->dev, "Bad MAC address %pM.\n", | 216 | dev_warn(&pdev->dev, "Bad MAC address %pM.\n", |
218 | netdev->dev_addr); | 217 | netdev->dev_addr); |
219 | 218 | ||
diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_main.c b/drivers/net/ethernet/qlogic/qlge/qlge_main.c index f80cd975daed..7c8ba1acb349 100644 --- a/drivers/net/ethernet/qlogic/qlge/qlge_main.c +++ b/drivers/net/ethernet/qlogic/qlge/qlge_main.c | |||
@@ -4586,7 +4586,6 @@ static int ql_init_device(struct pci_dev *pdev, struct net_device *ndev, | |||
4586 | goto err_out2; | 4586 | goto err_out2; |
4587 | } | 4587 | } |
4588 | 4588 | ||
4589 | memcpy(ndev->perm_addr, ndev->dev_addr, ndev->addr_len); | ||
4590 | /* Keep local copy of current mac address. */ | 4589 | /* Keep local copy of current mac address. */ |
4591 | memcpy(qdev->current_mac_addr, ndev->dev_addr, ndev->addr_len); | 4590 | memcpy(qdev->current_mac_addr, ndev->dev_addr, ndev->addr_len); |
4592 | 4591 | ||
diff --git a/drivers/net/ethernet/rdc/r6040.c b/drivers/net/ethernet/rdc/r6040.c index ba0be4b943dd..be3616d060d9 100644 --- a/drivers/net/ethernet/rdc/r6040.c +++ b/drivers/net/ethernet/rdc/r6040.c | |||
@@ -755,9 +755,6 @@ static void r6040_mac_address(struct net_device *dev) | |||
755 | iowrite16(adrp[0], ioaddr + MID_0L); | 755 | iowrite16(adrp[0], ioaddr + MID_0L); |
756 | iowrite16(adrp[1], ioaddr + MID_0M); | 756 | iowrite16(adrp[1], ioaddr + MID_0M); |
757 | iowrite16(adrp[2], ioaddr + MID_0H); | 757 | iowrite16(adrp[2], ioaddr + MID_0H); |
758 | |||
759 | /* Store MAC Address in perm_addr */ | ||
760 | memcpy(dev->perm_addr, dev->dev_addr, ETH_ALEN); | ||
761 | } | 758 | } |
762 | 759 | ||
763 | static int r6040_open(struct net_device *dev) | 760 | static int r6040_open(struct net_device *dev) |
diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c index 5ac93323a40c..b62a32484f6a 100644 --- a/drivers/net/ethernet/realtek/8139cp.c +++ b/drivers/net/ethernet/realtek/8139cp.c | |||
@@ -1949,7 +1949,6 @@ static int cp_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) | |||
1949 | for (i = 0; i < 3; i++) | 1949 | for (i = 0; i < 3; i++) |
1950 | ((__le16 *) (dev->dev_addr))[i] = | 1950 | ((__le16 *) (dev->dev_addr))[i] = |
1951 | cpu_to_le16(read_eeprom (regs, i + 7, addr_len)); | 1951 | cpu_to_le16(read_eeprom (regs, i + 7, addr_len)); |
1952 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
1953 | 1952 | ||
1954 | dev->netdev_ops = &cp_netdev_ops; | 1953 | dev->netdev_ops = &cp_netdev_ops; |
1955 | netif_napi_add(dev, &cp->napi, cp_rx_poll, 16); | 1954 | netif_napi_add(dev, &cp->napi, cp_rx_poll, 16); |
diff --git a/drivers/net/ethernet/realtek/8139too.c b/drivers/net/ethernet/realtek/8139too.c index 5dc161630127..1276ac71353a 100644 --- a/drivers/net/ethernet/realtek/8139too.c +++ b/drivers/net/ethernet/realtek/8139too.c | |||
@@ -991,7 +991,6 @@ static int rtl8139_init_one(struct pci_dev *pdev, | |||
991 | for (i = 0; i < 3; i++) | 991 | for (i = 0; i < 3; i++) |
992 | ((__le16 *) (dev->dev_addr))[i] = | 992 | ((__le16 *) (dev->dev_addr))[i] = |
993 | cpu_to_le16(read_eeprom (ioaddr, i + 7, addr_len)); | 993 | cpu_to_le16(read_eeprom (ioaddr, i + 7, addr_len)); |
994 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
995 | 994 | ||
996 | /* The Rtl8139-specific entries in the device structure. */ | 995 | /* The Rtl8139-specific entries in the device structure. */ |
997 | dev->netdev_ops = &rtl8139_netdev_ops; | 996 | dev->netdev_ops = &rtl8139_netdev_ops; |
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index ed96f309bca8..89184f3bc6d6 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c | |||
@@ -6948,7 +6948,6 @@ rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
6948 | /* Get MAC address */ | 6948 | /* Get MAC address */ |
6949 | for (i = 0; i < ETH_ALEN; i++) | 6949 | for (i = 0; i < ETH_ALEN; i++) |
6950 | dev->dev_addr[i] = RTL_R8(MAC0 + i); | 6950 | dev->dev_addr[i] = RTL_R8(MAC0 + i); |
6951 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
6952 | 6951 | ||
6953 | SET_ETHTOOL_OPS(dev, &rtl8169_ethtool_ops); | 6952 | SET_ETHTOOL_OPS(dev, &rtl8169_ethtool_ops); |
6954 | dev->watchdog_timeo = RTL8169_TX_TIMEOUT; | 6953 | dev->watchdog_timeo = RTL8169_TX_TIMEOUT; |
diff --git a/drivers/net/ethernet/silan/sc92031.c b/drivers/net/ethernet/silan/sc92031.c index b2315324cc6d..28f7268f1b88 100644 --- a/drivers/net/ethernet/silan/sc92031.c +++ b/drivers/net/ethernet/silan/sc92031.c | |||
@@ -1458,12 +1458,12 @@ static int sc92031_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
1458 | 1458 | ||
1459 | mac0 = ioread32(port_base + MAC0); | 1459 | mac0 = ioread32(port_base + MAC0); |
1460 | mac1 = ioread32(port_base + MAC0 + 4); | 1460 | mac1 = ioread32(port_base + MAC0 + 4); |
1461 | dev->dev_addr[0] = dev->perm_addr[0] = mac0 >> 24; | 1461 | dev->dev_addr[0] = mac0 >> 24; |
1462 | dev->dev_addr[1] = dev->perm_addr[1] = mac0 >> 16; | 1462 | dev->dev_addr[1] = mac0 >> 16; |
1463 | dev->dev_addr[2] = dev->perm_addr[2] = mac0 >> 8; | 1463 | dev->dev_addr[2] = mac0 >> 8; |
1464 | dev->dev_addr[3] = dev->perm_addr[3] = mac0; | 1464 | dev->dev_addr[3] = mac0; |
1465 | dev->dev_addr[4] = dev->perm_addr[4] = mac1 >> 8; | 1465 | dev->dev_addr[4] = mac1 >> 8; |
1466 | dev->dev_addr[5] = dev->perm_addr[5] = mac1; | 1466 | dev->dev_addr[5] = mac1; |
1467 | 1467 | ||
1468 | err = register_netdev(dev); | 1468 | err = register_netdev(dev); |
1469 | if (err < 0) | 1469 | if (err < 0) |
diff --git a/drivers/net/ethernet/sis/sis900.c b/drivers/net/ethernet/sis/sis900.c index 5bffd9749a58..efca14eaefa9 100644 --- a/drivers/net/ethernet/sis/sis900.c +++ b/drivers/net/ethernet/sis/sis900.c | |||
@@ -247,8 +247,7 @@ static const struct ethtool_ops sis900_ethtool_ops; | |||
247 | * @net_dev: the net device to get address for | 247 | * @net_dev: the net device to get address for |
248 | * | 248 | * |
249 | * Older SiS900 and friends, use EEPROM to store MAC address. | 249 | * Older SiS900 and friends, use EEPROM to store MAC address. |
250 | * MAC address is read from read_eeprom() into @net_dev->dev_addr and | 250 | * MAC address is read from read_eeprom() into @net_dev->dev_addr. |
251 | * @net_dev->perm_addr. | ||
252 | */ | 251 | */ |
253 | 252 | ||
254 | static int sis900_get_mac_addr(struct pci_dev *pci_dev, | 253 | static int sis900_get_mac_addr(struct pci_dev *pci_dev, |
@@ -271,9 +270,6 @@ static int sis900_get_mac_addr(struct pci_dev *pci_dev, | |||
271 | for (i = 0; i < 3; i++) | 270 | for (i = 0; i < 3; i++) |
272 | ((u16 *)(net_dev->dev_addr))[i] = read_eeprom(ioaddr, i+EEPROMMACAddr); | 271 | ((u16 *)(net_dev->dev_addr))[i] = read_eeprom(ioaddr, i+EEPROMMACAddr); |
273 | 272 | ||
274 | /* Store MAC Address in perm_addr */ | ||
275 | memcpy(net_dev->perm_addr, net_dev->dev_addr, ETH_ALEN); | ||
276 | |||
277 | return 1; | 273 | return 1; |
278 | } | 274 | } |
279 | 275 | ||
@@ -284,8 +280,7 @@ static int sis900_get_mac_addr(struct pci_dev *pci_dev, | |||
284 | * | 280 | * |
285 | * SiS630E model, use APC CMOS RAM to store MAC address. | 281 | * SiS630E model, use APC CMOS RAM to store MAC address. |
286 | * APC CMOS RAM is accessed through ISA bridge. | 282 | * APC CMOS RAM is accessed through ISA bridge. |
287 | * MAC address is read into @net_dev->dev_addr and | 283 | * MAC address is read into @net_dev->dev_addr. |
288 | * @net_dev->perm_addr. | ||
289 | */ | 284 | */ |
290 | 285 | ||
291 | static int sis630e_get_mac_addr(struct pci_dev *pci_dev, | 286 | static int sis630e_get_mac_addr(struct pci_dev *pci_dev, |
@@ -311,9 +306,6 @@ static int sis630e_get_mac_addr(struct pci_dev *pci_dev, | |||
311 | ((u8 *)(net_dev->dev_addr))[i] = inb(0x71); | 306 | ((u8 *)(net_dev->dev_addr))[i] = inb(0x71); |
312 | } | 307 | } |
313 | 308 | ||
314 | /* Store MAC Address in perm_addr */ | ||
315 | memcpy(net_dev->perm_addr, net_dev->dev_addr, ETH_ALEN); | ||
316 | |||
317 | pci_write_config_byte(isa_bridge, 0x48, reg & ~0x40); | 309 | pci_write_config_byte(isa_bridge, 0x48, reg & ~0x40); |
318 | pci_dev_put(isa_bridge); | 310 | pci_dev_put(isa_bridge); |
319 | 311 | ||
@@ -328,7 +320,7 @@ static int sis630e_get_mac_addr(struct pci_dev *pci_dev, | |||
328 | * | 320 | * |
329 | * SiS635 model, set MAC Reload Bit to load Mac address from APC | 321 | * SiS635 model, set MAC Reload Bit to load Mac address from APC |
330 | * to rfdr. rfdr is accessed through rfcr. MAC address is read into | 322 | * to rfdr. rfdr is accessed through rfcr. MAC address is read into |
331 | * @net_dev->dev_addr and @net_dev->perm_addr. | 323 | * @net_dev->dev_addr. |
332 | */ | 324 | */ |
333 | 325 | ||
334 | static int sis635_get_mac_addr(struct pci_dev *pci_dev, | 326 | static int sis635_get_mac_addr(struct pci_dev *pci_dev, |
@@ -353,9 +345,6 @@ static int sis635_get_mac_addr(struct pci_dev *pci_dev, | |||
353 | *( ((u16 *)net_dev->dev_addr) + i) = sr16(rfdr); | 345 | *( ((u16 *)net_dev->dev_addr) + i) = sr16(rfdr); |
354 | } | 346 | } |
355 | 347 | ||
356 | /* Store MAC Address in perm_addr */ | ||
357 | memcpy(net_dev->perm_addr, net_dev->dev_addr, ETH_ALEN); | ||
358 | |||
359 | /* enable packet filtering */ | 348 | /* enable packet filtering */ |
360 | sw32(rfcr, rfcrSave | RFEN); | 349 | sw32(rfcr, rfcrSave | RFEN); |
361 | 350 | ||
@@ -375,7 +364,7 @@ static int sis635_get_mac_addr(struct pci_dev *pci_dev, | |||
375 | * EEDONE signal to refuse EEPROM access by LAN. | 364 | * EEDONE signal to refuse EEPROM access by LAN. |
376 | * The EEPROM map of SiS962 or SiS963 is different to SiS900. | 365 | * The EEPROM map of SiS962 or SiS963 is different to SiS900. |
377 | * The signature field in SiS962 or SiS963 spec is meaningless. | 366 | * The signature field in SiS962 or SiS963 spec is meaningless. |
378 | * MAC address is read into @net_dev->dev_addr and @net_dev->perm_addr. | 367 | * MAC address is read into @net_dev->dev_addr. |
379 | */ | 368 | */ |
380 | 369 | ||
381 | static int sis96x_get_mac_addr(struct pci_dev *pci_dev, | 370 | static int sis96x_get_mac_addr(struct pci_dev *pci_dev, |
@@ -395,9 +384,6 @@ static int sis96x_get_mac_addr(struct pci_dev *pci_dev, | |||
395 | for (i = 0; i < 3; i++) | 384 | for (i = 0; i < 3; i++) |
396 | mac[i] = read_eeprom(ioaddr, i + EEPROMMACAddr); | 385 | mac[i] = read_eeprom(ioaddr, i + EEPROMMACAddr); |
397 | 386 | ||
398 | /* Store MAC Address in perm_addr */ | ||
399 | memcpy(net_dev->perm_addr, net_dev->dev_addr, ETH_ALEN); | ||
400 | |||
401 | rc = 1; | 387 | rc = 1; |
402 | break; | 388 | break; |
403 | } | 389 | } |
diff --git a/drivers/net/ethernet/sun/niu.c b/drivers/net/ethernet/sun/niu.c index a0bdf0779466..c8c491564f9d 100644 --- a/drivers/net/ethernet/sun/niu.c +++ b/drivers/net/ethernet/sun/niu.c | |||
@@ -8366,14 +8366,12 @@ static void niu_pci_vpd_validate(struct niu *np) | |||
8366 | return; | 8366 | return; |
8367 | } | 8367 | } |
8368 | 8368 | ||
8369 | memcpy(dev->perm_addr, vpd->local_mac, ETH_ALEN); | 8369 | memcpy(dev->dev_addr, vpd->local_mac, ETH_ALEN); |
8370 | 8370 | ||
8371 | val8 = dev->perm_addr[5]; | 8371 | val8 = dev->dev_addr[5]; |
8372 | dev->perm_addr[5] += np->port; | 8372 | dev->dev_addr[5] += np->port; |
8373 | if (dev->perm_addr[5] < val8) | 8373 | if (dev->dev_addr[5] < val8) |
8374 | dev->perm_addr[4]++; | 8374 | dev->dev_addr[4]++; |
8375 | |||
8376 | memcpy(dev->dev_addr, dev->perm_addr, dev->addr_len); | ||
8377 | } | 8375 | } |
8378 | 8376 | ||
8379 | static int niu_pci_probe_sprom(struct niu *np) | 8377 | static int niu_pci_probe_sprom(struct niu *np) |
@@ -8470,29 +8468,27 @@ static int niu_pci_probe_sprom(struct niu *np) | |||
8470 | val = nr64(ESPC_MAC_ADDR0); | 8468 | val = nr64(ESPC_MAC_ADDR0); |
8471 | netif_printk(np, probe, KERN_DEBUG, np->dev, | 8469 | netif_printk(np, probe, KERN_DEBUG, np->dev, |
8472 | "SPROM: MAC_ADDR0[%08llx]\n", (unsigned long long)val); | 8470 | "SPROM: MAC_ADDR0[%08llx]\n", (unsigned long long)val); |
8473 | dev->perm_addr[0] = (val >> 0) & 0xff; | 8471 | dev->dev_addr[0] = (val >> 0) & 0xff; |
8474 | dev->perm_addr[1] = (val >> 8) & 0xff; | 8472 | dev->dev_addr[1] = (val >> 8) & 0xff; |
8475 | dev->perm_addr[2] = (val >> 16) & 0xff; | 8473 | dev->dev_addr[2] = (val >> 16) & 0xff; |
8476 | dev->perm_addr[3] = (val >> 24) & 0xff; | 8474 | dev->dev_addr[3] = (val >> 24) & 0xff; |
8477 | 8475 | ||
8478 | val = nr64(ESPC_MAC_ADDR1); | 8476 | val = nr64(ESPC_MAC_ADDR1); |
8479 | netif_printk(np, probe, KERN_DEBUG, np->dev, | 8477 | netif_printk(np, probe, KERN_DEBUG, np->dev, |
8480 | "SPROM: MAC_ADDR1[%08llx]\n", (unsigned long long)val); | 8478 | "SPROM: MAC_ADDR1[%08llx]\n", (unsigned long long)val); |
8481 | dev->perm_addr[4] = (val >> 0) & 0xff; | 8479 | dev->dev_addr[4] = (val >> 0) & 0xff; |
8482 | dev->perm_addr[5] = (val >> 8) & 0xff; | 8480 | dev->dev_addr[5] = (val >> 8) & 0xff; |
8483 | 8481 | ||
8484 | if (!is_valid_ether_addr(&dev->perm_addr[0])) { | 8482 | if (!is_valid_ether_addr(&dev->dev_addr[0])) { |
8485 | dev_err(np->device, "SPROM MAC address invalid [ %pM ]\n", | 8483 | dev_err(np->device, "SPROM MAC address invalid [ %pM ]\n", |
8486 | dev->perm_addr); | 8484 | dev->dev_addr); |
8487 | return -EINVAL; | 8485 | return -EINVAL; |
8488 | } | 8486 | } |
8489 | 8487 | ||
8490 | val8 = dev->perm_addr[5]; | 8488 | val8 = dev->dev_addr[5]; |
8491 | dev->perm_addr[5] += np->port; | 8489 | dev->dev_addr[5] += np->port; |
8492 | if (dev->perm_addr[5] < val8) | 8490 | if (dev->dev_addr[5] < val8) |
8493 | dev->perm_addr[4]++; | 8491 | dev->dev_addr[4]++; |
8494 | |||
8495 | memcpy(dev->dev_addr, dev->perm_addr, dev->addr_len); | ||
8496 | 8492 | ||
8497 | val = nr64(ESPC_MOD_STR_LEN); | 8493 | val = nr64(ESPC_MOD_STR_LEN); |
8498 | netif_printk(np, probe, KERN_DEBUG, np->dev, | 8494 | netif_printk(np, probe, KERN_DEBUG, np->dev, |
@@ -9267,16 +9263,14 @@ static int niu_get_of_props(struct niu *np) | |||
9267 | netdev_err(dev, "%s: OF MAC address prop len (%d) is wrong\n", | 9263 | netdev_err(dev, "%s: OF MAC address prop len (%d) is wrong\n", |
9268 | dp->full_name, prop_len); | 9264 | dp->full_name, prop_len); |
9269 | } | 9265 | } |
9270 | memcpy(dev->perm_addr, mac_addr, dev->addr_len); | 9266 | memcpy(dev->dev_addr, mac_addr, dev->addr_len); |
9271 | if (!is_valid_ether_addr(&dev->perm_addr[0])) { | 9267 | if (!is_valid_ether_addr(&dev->dev_addr[0])) { |
9272 | netdev_err(dev, "%s: OF MAC address is invalid\n", | 9268 | netdev_err(dev, "%s: OF MAC address is invalid\n", |
9273 | dp->full_name); | 9269 | dp->full_name); |
9274 | netdev_err(dev, "%s: [ %pM ]\n", dp->full_name, dev->perm_addr); | 9270 | netdev_err(dev, "%s: [ %pM ]\n", dp->full_name, dev->dev_addr); |
9275 | return -EINVAL; | 9271 | return -EINVAL; |
9276 | } | 9272 | } |
9277 | 9273 | ||
9278 | memcpy(dev->dev_addr, dev->perm_addr, dev->addr_len); | ||
9279 | |||
9280 | model = of_get_property(dp, "model", &prop_len); | 9274 | model = of_get_property(dp, "model", &prop_len); |
9281 | 9275 | ||
9282 | if (model) | 9276 | if (model) |
diff --git a/drivers/net/ethernet/sun/sunvnet.c b/drivers/net/ethernet/sun/sunvnet.c index 1cf767eb3ed5..289b4eefb42f 100644 --- a/drivers/net/ethernet/sun/sunvnet.c +++ b/drivers/net/ethernet/sun/sunvnet.c | |||
@@ -1032,8 +1032,6 @@ static struct vnet *vnet_new(const u64 *local_mac) | |||
1032 | for (i = 0; i < ETH_ALEN; i++) | 1032 | for (i = 0; i < ETH_ALEN; i++) |
1033 | dev->dev_addr[i] = (*local_mac >> (5 - i) * 8) & 0xff; | 1033 | dev->dev_addr[i] = (*local_mac >> (5 - i) * 8) & 0xff; |
1034 | 1034 | ||
1035 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
1036 | |||
1037 | vp = netdev_priv(dev); | 1035 | vp = netdev_priv(dev); |
1038 | 1036 | ||
1039 | spin_lock_init(&vp->lock); | 1037 | spin_lock_init(&vp->lock); |
diff --git a/drivers/net/ethernet/toshiba/tc35815.c b/drivers/net/ethernet/toshiba/tc35815.c index 23a789e86de4..f16410e599f4 100644 --- a/drivers/net/ethernet/toshiba/tc35815.c +++ b/drivers/net/ethernet/toshiba/tc35815.c | |||
@@ -856,7 +856,6 @@ static int tc35815_init_one(struct pci_dev *pdev, | |||
856 | if (rc) | 856 | if (rc) |
857 | goto err_out; | 857 | goto err_out; |
858 | 858 | ||
859 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
860 | printk(KERN_INFO "%s: %s at 0x%lx, %pM, IRQ %d\n", | 859 | printk(KERN_INFO "%s: %s at 0x%lx, %pM, IRQ %d\n", |
861 | dev->name, | 860 | dev->name, |
862 | chip_info[ent->driver_data].name, | 861 | chip_info[ent->driver_data].name, |
diff --git a/drivers/net/ethernet/via/via-rhine.c b/drivers/net/ethernet/via/via-rhine.c index 7992b3e05d3d..eab63e1d5609 100644 --- a/drivers/net/ethernet/via/via-rhine.c +++ b/drivers/net/ethernet/via/via-rhine.c | |||
@@ -990,7 +990,6 @@ static int rhine_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
990 | netdev_info(dev, "Using random MAC address: %pM\n", | 990 | netdev_info(dev, "Using random MAC address: %pM\n", |
991 | dev->dev_addr); | 991 | dev->dev_addr); |
992 | } | 992 | } |
993 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
994 | 993 | ||
995 | /* For Rhine-I/II, phy_id is loaded from EEPROM */ | 994 | /* For Rhine-I/II, phy_id is loaded from EEPROM */ |
996 | if (!phy_id) | 995 | if (!phy_id) |
diff --git a/drivers/net/ieee802154/fakehard.c b/drivers/net/ieee802154/fakehard.c index 1e9cb0bbf62c..8f1c25676d44 100644 --- a/drivers/net/ieee802154/fakehard.c +++ b/drivers/net/ieee802154/fakehard.c | |||
@@ -372,7 +372,6 @@ static int ieee802154fake_probe(struct platform_device *pdev) | |||
372 | 372 | ||
373 | memcpy(dev->dev_addr, "\xba\xbe\xca\xfe\xde\xad\xbe\xef", | 373 | memcpy(dev->dev_addr, "\xba\xbe\xca\xfe\xde\xad\xbe\xef", |
374 | dev->addr_len); | 374 | dev->addr_len); |
375 | memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len); | ||
376 | 375 | ||
377 | /* | 376 | /* |
378 | * For now we'd like to emulate 2.4 GHz-only device, | 377 | * For now we'd like to emulate 2.4 GHz-only device, |
diff --git a/drivers/net/usb/kalmia.c b/drivers/net/usb/kalmia.c index 92c49e0a59ec..0192073e53a3 100644 --- a/drivers/net/usb/kalmia.c +++ b/drivers/net/usb/kalmia.c | |||
@@ -159,7 +159,6 @@ kalmia_bind(struct usbnet *dev, struct usb_interface *intf) | |||
159 | } | 159 | } |
160 | 160 | ||
161 | memcpy(dev->net->dev_addr, ethernet_addr, ETH_ALEN); | 161 | memcpy(dev->net->dev_addr, ethernet_addr, ETH_ALEN); |
162 | memcpy(dev->net->perm_addr, ethernet_addr, ETH_ALEN); | ||
163 | 162 | ||
164 | return status; | 163 | return status; |
165 | } | 164 | } |
diff --git a/drivers/net/usb/rndis_host.c b/drivers/net/usb/rndis_host.c index 4a4335833c36..cc49aac70224 100644 --- a/drivers/net/usb/rndis_host.c +++ b/drivers/net/usb/rndis_host.c | |||
@@ -431,7 +431,6 @@ generic_rndis_bind(struct usbnet *dev, struct usb_interface *intf, int flags) | |||
431 | goto halt_fail_and_release; | 431 | goto halt_fail_and_release; |
432 | } | 432 | } |
433 | memcpy(net->dev_addr, bp, ETH_ALEN); | 433 | memcpy(net->dev_addr, bp, ETH_ALEN); |
434 | memcpy(net->perm_addr, bp, ETH_ALEN); | ||
435 | 434 | ||
436 | /* set a nonzero filter to enable data transfers */ | 435 | /* set a nonzero filter to enable data transfers */ |
437 | memset(u.set, 0, sizeof *u.set); | 436 | memset(u.set, 0, sizeof *u.set); |
diff --git a/drivers/net/wimax/i2400m/fw.c b/drivers/net/wimax/i2400m/fw.c index def12b38cbf7..c9c711dcd0e6 100644 --- a/drivers/net/wimax/i2400m/fw.c +++ b/drivers/net/wimax/i2400m/fw.c | |||
@@ -1055,7 +1055,6 @@ int i2400m_read_mac_addr(struct i2400m *i2400m) | |||
1055 | result = 0; | 1055 | result = 0; |
1056 | } | 1056 | } |
1057 | net_dev->addr_len = ETH_ALEN; | 1057 | net_dev->addr_len = ETH_ALEN; |
1058 | memcpy(net_dev->perm_addr, ack_buf.ack_pl, ETH_ALEN); | ||
1059 | memcpy(net_dev->dev_addr, ack_buf.ack_pl, ETH_ALEN); | 1058 | memcpy(net_dev->dev_addr, ack_buf.ack_pl, ETH_ALEN); |
1060 | error_read_mac: | 1059 | error_read_mac: |
1061 | d_fnend(5, dev, "(i2400m %p) = %d\n", i2400m, result); | 1060 | d_fnend(5, dev, "(i2400m %p) = %d\n", i2400m, result); |
diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c index 844f201b7b70..3e824b8fa83d 100644 --- a/drivers/net/wireless/ipw2x00/ipw2200.c +++ b/drivers/net/wireless/ipw2x00/ipw2200.c | |||
@@ -11327,7 +11327,6 @@ static int ipw_up(struct ipw_priv *priv) | |||
11327 | if (!(priv->config & CFG_CUSTOM_MAC)) | 11327 | if (!(priv->config & CFG_CUSTOM_MAC)) |
11328 | eeprom_parse_mac(priv, priv->mac_addr); | 11328 | eeprom_parse_mac(priv, priv->mac_addr); |
11329 | memcpy(priv->net_dev->dev_addr, priv->mac_addr, ETH_ALEN); | 11329 | memcpy(priv->net_dev->dev_addr, priv->mac_addr, ETH_ALEN); |
11330 | memcpy(priv->net_dev->perm_addr, priv->mac_addr, ETH_ALEN); | ||
11331 | 11330 | ||
11332 | ipw_set_geo(priv); | 11331 | ipw_set_geo(priv); |
11333 | 11332 | ||
diff --git a/drivers/net/wireless/mwifiex/cfg80211.c b/drivers/net/wireless/mwifiex/cfg80211.c index a875499f8945..3b3d47196331 100644 --- a/drivers/net/wireless/mwifiex/cfg80211.c +++ b/drivers/net/wireless/mwifiex/cfg80211.c | |||
@@ -2117,7 +2117,6 @@ struct wireless_dev *mwifiex_add_virtual_intf(struct wiphy *wiphy, | |||
2117 | dev->ieee80211_ptr = priv->wdev; | 2117 | dev->ieee80211_ptr = priv->wdev; |
2118 | dev->ieee80211_ptr->iftype = priv->bss_mode; | 2118 | dev->ieee80211_ptr->iftype = priv->bss_mode; |
2119 | memcpy(dev->dev_addr, wiphy->perm_addr, ETH_ALEN); | 2119 | memcpy(dev->dev_addr, wiphy->perm_addr, ETH_ALEN); |
2120 | memcpy(dev->perm_addr, wiphy->perm_addr, ETH_ALEN); | ||
2121 | SET_NETDEV_DEV(dev, wiphy_dev(wiphy)); | 2120 | SET_NETDEV_DEV(dev, wiphy_dev(wiphy)); |
2122 | 2121 | ||
2123 | dev->flags |= IFF_BROADCAST | IFF_MULTICAST; | 2122 | dev->flags |= IFF_BROADCAST | IFF_MULTICAST; |
diff --git a/drivers/net/wireless/orinoco/main.c b/drivers/net/wireless/orinoco/main.c index 88e3ad2d1db8..1e802f82ae49 100644 --- a/drivers/net/wireless/orinoco/main.c +++ b/drivers/net/wireless/orinoco/main.c | |||
@@ -2290,7 +2290,6 @@ int orinoco_if_add(struct orinoco_private *priv, | |||
2290 | netif_carrier_off(dev); | 2290 | netif_carrier_off(dev); |
2291 | 2291 | ||
2292 | memcpy(dev->dev_addr, wiphy->perm_addr, ETH_ALEN); | 2292 | memcpy(dev->dev_addr, wiphy->perm_addr, ETH_ALEN); |
2293 | memcpy(dev->perm_addr, wiphy->perm_addr, ETH_ALEN); | ||
2294 | 2293 | ||
2295 | dev->base_addr = base_addr; | 2294 | dev->base_addr = base_addr; |
2296 | dev->irq = irq; | 2295 | dev->irq = irq; |