]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
ethernet: use eth_hw_addr_set()
authorJakub Kicinski <kuba@kernel.org>
Fri, 1 Oct 2021 21:32:20 +0000 (14:32 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 2 Oct 2021 13:18:25 +0000 (14:18 +0100)
Convert all Ethernet drivers from memcpy(... ETH_ADDR)
to eth_hw_addr_set():

  @@
  expression dev, np;
  @@
  - memcpy(dev->dev_addr, np, ETH_ALEN)
  + eth_hw_addr_set(dev, np)

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
63 files changed:
drivers/net/ethernet/8390/ax88796.c
drivers/net/ethernet/allwinner/sun4i-emac.c
drivers/net/ethernet/amd/atarilance.c
drivers/net/ethernet/amd/au1000_eth.c
drivers/net/ethernet/amd/nmclan_cs.c
drivers/net/ethernet/amd/pcnet32.c
drivers/net/ethernet/atheros/alx/main.c
drivers/net/ethernet/broadcom/b44.c
drivers/net/ethernet/broadcom/bcm63xx_enet.c
drivers/net/ethernet/broadcom/bnx2.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c
drivers/net/ethernet/cirrus/ep93xx_eth.c
drivers/net/ethernet/cirrus/mac89x0.c
drivers/net/ethernet/cortina/gemini.c
drivers/net/ethernet/davicom/dm9000.c
drivers/net/ethernet/dec/tulip/tulip_core.c
drivers/net/ethernet/dlink/sundance.c
drivers/net/ethernet/emulex/benet/be_main.c
drivers/net/ethernet/ethoc.c
drivers/net/ethernet/freescale/fec_main.c
drivers/net/ethernet/huawei/hinic/hinic_main.c
drivers/net/ethernet/ibm/ehea/ehea_main.c
drivers/net/ethernet/ibm/ibmveth.c
drivers/net/ethernet/jme.c
drivers/net/ethernet/marvell/mv643xx_eth.c
drivers/net/ethernet/marvell/mvneta.c
drivers/net/ethernet/marvell/pxa168_eth.c
drivers/net/ethernet/marvell/skge.c
drivers/net/ethernet/marvell/sky2.c
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
drivers/net/ethernet/micrel/ks8851_common.c
drivers/net/ethernet/micrel/ksz884x.c
drivers/net/ethernet/mscc/ocelot_net.c
drivers/net/ethernet/myricom/myri10ge/myri10ge.c
drivers/net/ethernet/neterion/vxge/vxge-main.c
drivers/net/ethernet/nvidia/forcedeth.c
drivers/net/ethernet/nxp/lpc_eth.c
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
drivers/net/ethernet/renesas/sh_eth.c
drivers/net/ethernet/seeq/sgiseeq.c
drivers/net/ethernet/sfc/ef100_nic.c
drivers/net/ethernet/sgi/ioc3-eth.c
drivers/net/ethernet/sgi/meth.c
drivers/net/ethernet/smsc/smsc911x.c
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
drivers/net/ethernet/sun/niu.c
drivers/net/ethernet/sun/sungem.c
drivers/net/ethernet/sun/sunhme.c
drivers/net/ethernet/sun/sunqe.c
drivers/net/ethernet/ti/cpsw.c
drivers/net/ethernet/toshiba/ps3_gelic_net.c
drivers/net/ethernet/toshiba/spider_net.c
drivers/net/ethernet/toshiba/tc35815.c
drivers/net/ethernet/wiznet/w5100.c
drivers/net/ethernet/wiznet/w5300.c
drivers/net/ethernet/xilinx/ll_temac_main.c
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
drivers/net/ethernet/xscale/ixp4xx_eth.c
net/ethernet/eth.c

index 6c6bdd5913ec1fda69b55b17dc49b62f30b89497..b3e612b18abd0ea4b0340dfa2a71292448fb3704 100644 (file)
@@ -716,7 +716,7 @@ static int ax_init_dev(struct net_device *dev)
                        for (i = 0; i < 16; i++)
                                SA_prom[i] = SA_prom[i+i];
 
-               memcpy(dev->dev_addr, SA_prom, ETH_ALEN);
+               eth_hw_addr_set(dev, SA_prom);
        }
 
 #ifdef CONFIG_AX88796_93CX6
@@ -733,7 +733,7 @@ static int ax_init_dev(struct net_device *dev)
                                       (__le16 __force *)mac_addr,
                                       sizeof(mac_addr) >> 1);
 
-               memcpy(dev->dev_addr, mac_addr, ETH_ALEN);
+               eth_hw_addr_set(dev, mac_addr);
        }
 #endif
        if (ax->plat->wordlength == 2) {
@@ -757,7 +757,7 @@ static int ax_init_dev(struct net_device *dev)
 
        if ((ax->plat->flags & AXFLG_MAC_FROMPLATFORM) &&
            ax->plat->mac_addr)
-               memcpy(dev->dev_addr, ax->plat->mac_addr, ETH_ALEN);
+               eth_hw_addr_set(dev, ax->plat->mac_addr);
 
        if (!is_valid_ether_addr(dev->dev_addr)) {
                eth_hw_addr_random(dev);
index 037baea1c73881b79982ca0fbb84f9742be8b06b..40b8138349b7d90ded90fbacdb169a2951c70138 100644 (file)
@@ -356,7 +356,7 @@ static int emac_set_mac_address(struct net_device *dev, void *p)
        if (netif_running(dev))
                return -EBUSY;
 
-       memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, addr->sa_data);
 
        writel(dev->dev_addr[0] << 16 | dev->dev_addr[1] << 8 | dev->
               dev_addr[2], db->membase + EMAC_MAC_A1_REG);
index 9d2f49fd945ed3ac9c5374417a9f00988670fe95..515e1f279da5a95224fef3839acc71e25086cf65 100644 (file)
@@ -582,7 +582,7 @@ static unsigned long __init lance_probe1( struct net_device *dev,
        switch( lp->cardtype ) {
          case OLD_RIEBL:
                /* No ethernet address! (Set some default address) */
-               memcpy(dev->dev_addr, OldRieblDefHwaddr, ETH_ALEN);
+               eth_hw_addr_set(dev, OldRieblDefHwaddr);
                break;
          case NEW_RIEBL:
                lp->memcpy_f(dev->dev_addr, RIEBL_HWADDR_ADDR, ETH_ALEN);
index 9c1636222b99cc67e6ca7854a28a620ba0dae861..c6f003975621b4ef2c20eb9d9db8dc3834ff728b 100644 (file)
@@ -1178,7 +1178,7 @@ static int au1000_probe(struct platform_device *pdev)
                aup->phy1_search_mac0 = 1;
        } else {
                if (is_valid_ether_addr(pd->mac)) {
-                       memcpy(dev->dev_addr, pd->mac, ETH_ALEN);
+                       eth_hw_addr_set(dev, pd->mac);
                } else {
                        /* Set a random MAC since no valid provided by platform_data. */
                        eth_hw_addr_random(dev);
index 4019cab875051d001f07518dad6f7ed17a741d96..2c07d15c8dfe4ade9cb5fc1021376d07de654895 100644 (file)
@@ -635,7 +635,7 @@ static int nmclan_config(struct pcmcia_device *link)
          kfree(buf);
          goto failed;
   }
-  memcpy(dev->dev_addr, buf, ETH_ALEN);
+  eth_hw_addr_set(dev, buf);
   kfree(buf);
 
   /* Verify configuration by reading the MACE ID. */
index 70d76fdb9f569d59dd8a99e0228b0e17bc28a762..820baa2604acc5fa9eb855254bb74b4825ca4052 100644 (file)
@@ -1775,7 +1775,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev)
                                pr_cont(" warning: CSR address invalid,\n");
                                pr_info("    using instead PROM address of");
                        }
-                       memcpy(dev->dev_addr, promaddr, ETH_ALEN);
+                       eth_hw_addr_set(dev, promaddr);
                }
        }
 
index 4ea157efca868c2634d6242aacf1850ff06e0d47..cf5903ac792be8846cc67406b86e9106508185f1 100644 (file)
@@ -1832,7 +1832,7 @@ static int alx_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        }
 
        memcpy(hw->mac_addr, hw->perm_addr, ETH_ALEN);
-       memcpy(netdev->dev_addr, hw->mac_addr, ETH_ALEN);
+       eth_hw_addr_set(netdev, hw->mac_addr);
        memcpy(netdev->perm_addr, hw->perm_addr, ETH_ALEN);
 
        hw->mdio.prtad = 0;
index 38b465452902b9fd2972d35f916cd90796b95369..20f439aaac1a094e83a5d1f0917c3e5e1ed8f129 100644 (file)
@@ -2171,7 +2171,7 @@ static int b44_get_invariants(struct b44 *bp)
         * valid PHY address. */
        bp->phy_addr &= 0x1F;
 
-       memcpy(bp->dev->dev_addr, addr, ETH_ALEN);
+       eth_hw_addr_set(bp->dev, addr);
 
        if (!is_valid_ether_addr(&bp->dev->dev_addr[0])){
                pr_err("Invalid MAC address found in EEPROM\n");
index d56886300ecf850478b7202bcf8debb851ae12a6..a568994a03a632c6ca8176de9c4b27e806d15928 100644 (file)
@@ -670,7 +670,7 @@ static int bcm_enet_set_mac_address(struct net_device *dev, void *p)
        u32 val;
 
        priv = netdev_priv(dev);
-       memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, addr->sa_data);
 
        /* use perfect match register 0 to store my mac address */
        val = (dev->dev_addr[2] << 24) | (dev->dev_addr[3] << 16) |
@@ -1762,7 +1762,7 @@ static int bcm_enet_probe(struct platform_device *pdev)
 
        pd = dev_get_platdata(&pdev->dev);
        if (pd) {
-               memcpy(dev->dev_addr, pd->mac_addr, ETH_ALEN);
+               eth_hw_addr_set(dev, pd->mac_addr);
                priv->has_phy = pd->has_phy;
                priv->phy_id = pd->phy_id;
                priv->has_phy_interrupt = pd->has_phy_interrupt;
@@ -2665,7 +2665,7 @@ static int bcm_enetsw_probe(struct platform_device *pdev)
 
        pd = dev_get_platdata(&pdev->dev);
        if (pd) {
-               memcpy(dev->dev_addr, pd->mac_addr, ETH_ALEN);
+               eth_hw_addr_set(dev, pd->mac_addr);
                memcpy(priv->used_ports, pd->used_ports,
                       sizeof(pd->used_ports));
                priv->num_ports = pd->num_ports;
index 8c83973adca57d4a270030f378c25e6bea94481f..b1d7076e4c9a8e298d3d9457730280bac0c3165a 100644 (file)
@@ -8574,7 +8574,7 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
        if (is_kdump_kernel())
                bnx2_wait_dma_complete(bp);
 
-       memcpy(dev->dev_addr, bp->mac_addr, ETH_ALEN);
+       eth_hw_addr_set(dev, bp->mac_addr);
 
        dev->hw_features = NETIF_F_IP_CSUM | NETIF_F_SG |
                NETIF_F_TSO | NETIF_F_TSO_ECN |
index ae87296ae1ffa48c46f0c8518789e17308909656..ef49e38ae0272c043d794f2ca32c37b17c723174 100644 (file)
@@ -11790,7 +11790,7 @@ static void bnx2x_get_cnic_mac_hwinfo(struct bnx2x *bp)
                 * as the SAN mac was copied from the primary MAC.
                 */
                if (IS_MF_FCOE_AFEX(bp))
-                       memcpy(bp->dev->dev_addr, fip_mac, ETH_ALEN);
+                       eth_hw_addr_set(bp->dev, fip_mac);
        } else {
                val2 = SHMEM_RD(bp, dev_info.port_hw_config[port].
                                iscsi_mac_upper);
index 6fbf735fca31c2ad4e6e0af222098e7f808651cb..74a8931ce1d1d5e099068794918298af995ddb53 100644 (file)
@@ -3058,7 +3058,7 @@ enum sample_bulletin_result bnx2x_sample_bulletin(struct bnx2x *bp)
        if (bulletin->valid_bitmap & 1 << MAC_ADDR_VALID &&
            !ether_addr_equal(bulletin->mac, bp->old_bulletin.mac)) {
                /* update new mac to net device */
-               memcpy(bp->dev->dev_addr, bulletin->mac, ETH_ALEN);
+               eth_hw_addr_set(bp->dev, bulletin->mac);
        }
 
        if (bulletin->valid_bitmap & (1 << LINK_VALID)) {
index ea0e9394f898683d9b9564812c296a343859c94e..7c96f943c6f37e779c6554cba33b2e2000f79184 100644 (file)
@@ -384,9 +384,8 @@ int bnx2x_vfpf_acquire(struct bnx2x *bp, u8 tx_count, u8 rx_count)
                sizeof(bp->fw_ver));
 
        if (is_valid_ether_addr(bp->acquire_resp.resc.current_mac_addr))
-               memcpy(bp->dev->dev_addr,
-                      bp->acquire_resp.resc.current_mac_addr,
-                      ETH_ALEN);
+               eth_hw_addr_set(bp->dev,
+                               bp->acquire_resp.resc.current_mac_addr);
 
 out:
        bnx2x_vfpf_finalize(bp, &req->first_tlv);
@@ -767,7 +766,7 @@ int bnx2x_vfpf_config_mac(struct bnx2x *bp, u8 *addr, u8 vf_qid, bool set)
                   "vfpf SET MAC failed. Check bulletin board for new posts\n");
 
                /* copy mac from bulletin to device */
-               memcpy(bp->dev->dev_addr, bulletin.mac, ETH_ALEN);
+               eth_hw_addr_set(bp->dev, bulletin.mac);
 
                /* check if bulletin board was updated */
                if (bnx2x_sample_bulletin(bp) == PFVF_BULLETIN_UPDATED) {
index 0fba01db336cc7d44e1e7e81753bc0f6dab9fb3d..50c975bb7c495200204a1e3a767acba4b5e37060 100644 (file)
@@ -13103,7 +13103,7 @@ static int bnxt_init_mac_addr(struct bnxt *bp)
        int rc = 0;
 
        if (BNXT_PF(bp)) {
-               memcpy(bp->dev->dev_addr, bp->pf.mac_addr, ETH_ALEN);
+               eth_hw_addr_set(bp->dev, bp->pf.mac_addr);
        } else {
 #ifdef CONFIG_BNXT_SRIOV
                struct bnxt_vf_info *vf = &bp->vf;
@@ -13111,7 +13111,7 @@ static int bnxt_init_mac_addr(struct bnxt *bp)
 
                if (is_valid_ether_addr(vf->mac_addr)) {
                        /* overwrite netdev dev_addr with admin VF MAC */
-                       memcpy(bp->dev->dev_addr, vf->mac_addr, ETH_ALEN);
+                       eth_hw_addr_set(bp->dev, vf->mac_addr);
                        /* Older PF driver or firmware may not approve this
                         * correctly.
                         */
index 70d8ca3039dcb9f9914ed6b3ffb6fb2ded4257bc..d4ebc5d710bac1208a08ae862ad659d4116b9000 100644 (file)
@@ -1217,7 +1217,7 @@ void bnxt_update_vf_mac(struct bnxt *bp)
 
        /* overwrite netdev dev_addr with admin VF MAC */
        if (is_valid_ether_addr(bp->vf.mac_addr))
-               memcpy(bp->dev->dev_addr, bp->vf.mac_addr, ETH_ALEN);
+               eth_hw_addr_set(bp->dev, bp->vf.mac_addr);
 update_vf_mac_exit:
        hwrm_req_drop(bp, req);
        if (inform_pf)
index 072fac5f5d2434e14a86c2e0e34d377b6887947e..21ba6e893072cdae06ff412f01f043bb0c8cf215 100644 (file)
@@ -746,7 +746,7 @@ static struct net_device *ep93xx_dev_alloc(struct ep93xx_eth_data *data)
        if (dev == NULL)
                return NULL;
 
-       memcpy(dev->dev_addr, data->dev_addr, ETH_ALEN);
+       eth_hw_addr_set(dev, data->dev_addr);
 
        dev->ethtool_ops = &ep93xx_ethtool_ops;
        dev->netdev_ops = &ep93xx_netdev_ops;
index 6324e80960c3e1126eb4ad1fe19aac30b74a0b6d..84251b85fc93170eb7a9448e28e1db596f7c0ef2 100644 (file)
@@ -541,7 +541,7 @@ static int set_mac_address(struct net_device *dev, void *addr)
        if (!is_valid_ether_addr(saddr->sa_data))
                return -EADDRNOTAVAIL;
 
-       memcpy(dev->dev_addr, saddr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, saddr->sa_data);
        netdev_info(dev, "Setting MAC address to %pM\n", dev->dev_addr);
 
        /* set the Ethernet address */
index 6e745ca4c4333dd89051b8cce0d1789c1b01d30c..bcbe73374666d8b0d990dbf0af3dcac7d6c13be0 100644 (file)
@@ -1889,7 +1889,7 @@ static int gmac_set_mac_address(struct net_device *netdev, void *addr)
 {
        struct sockaddr *sa = addr;
 
-       memcpy(netdev->dev_addr, sa->sa_data, ETH_ALEN);
+       eth_hw_addr_set(netdev, sa->sa_data);
        gmac_write_mac_address(netdev);
 
        return 0;
index e842de6f66356b2736cadbef776264afbc5eaff9..e13dd53a8b3b26f825a5d6b0ee76ce4eb128087c 100644 (file)
@@ -1670,7 +1670,7 @@ dm9000_probe(struct platform_device *pdev)
 
        if (!is_valid_ether_addr(ndev->dev_addr) && pdata != NULL) {
                mac_src = "platform data";
-               memcpy(ndev->dev_addr, pdata->dev_addr, ETH_ALEN);
+               eth_hw_addr_set(ndev, pdata->dev_addr);
        }
 
        if (!is_valid_ether_addr(ndev->dev_addr)) {
index fcedd733bacbf1f1273a67f7f4f6004f1339ddb5..1ba6452c06831a6b7404c3cccb15706a450aff17 100644 (file)
@@ -1609,7 +1609,7 @@ static int tulip_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
 #if defined(CONFIG_SPARC)
                addr = of_get_property(dp, "local-mac-address", &len);
                if (addr && len == ETH_ALEN)
-                       memcpy(dev->dev_addr, addr, ETH_ALEN);
+                       eth_hw_addr_set(dev, addr);
 #endif
 #if defined(__i386__) || defined(__x86_64__)   /* Patch up x86 BIOS bug. */
                if (last_irq)
index c36d186dffed13622a5c1b61d4a3bcf6fdf56208..194b0812f7f6fe2cff04ac9c08b57a2516c5060c 100644 (file)
@@ -1611,7 +1611,7 @@ static int sundance_set_mac_addr(struct net_device *dev, void *data)
 
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
-       memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, addr->sa_data);
        __set_mac_addr(dev);
 
        return 0;
index 361c1c87c18306fb24b9c3173ca900789e828dd3..0fb36d50c42bf6dfda58f8b2b6ffebe9f6b3561b 100644 (file)
@@ -4599,7 +4599,7 @@ static int be_mac_setup(struct be_adapter *adapter)
                if (status)
                        return status;
 
-               memcpy(adapter->netdev->dev_addr, mac, ETH_ALEN);
+               eth_hw_addr_set(adapter->netdev, mac);
                memcpy(adapter->netdev->perm_addr, mac, ETH_ALEN);
 
                /* Initial MAC for BE3 VFs is already programmed by PF */
index 0064ebdaf4b483eec9c41f955e4533760ff6772d..c5bd27db708a6228bbd697f93149ef09c65a2077 100644 (file)
@@ -816,7 +816,7 @@ static int ethoc_set_mac_address(struct net_device *dev, void *p)
 
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
-       memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, addr->sa_data);
        ethoc_do_set_mac_address(dev);
        return 0;
 }
index ec87b370bba1fb909784715a89a0637eb1ecc6ed..a8280005b50bf09def6cd39c866e6cea7ce53f6a 100644 (file)
@@ -1768,7 +1768,7 @@ static int fec_get_mac(struct net_device *ndev)
                return 0;
        }
 
-       memcpy(ndev->dev_addr, iap, ETH_ALEN);
+       eth_hw_addr_set(ndev, iap);
 
        /* Adjust MAC if using macaddr */
        if (iap == macaddr)
index 9965e8d5d0a964a9fe873126207adcc63f0ce467..6414e922cf8c209b4eff81b9df641727f8b741aa 100644 (file)
@@ -656,7 +656,7 @@ static int hinic_set_mac_addr(struct net_device *netdev, void *addr)
 
        err = change_mac_addr(netdev, new_mac);
        if (!err)
-               memcpy(netdev->dev_addr, new_mac, ETH_ALEN);
+               eth_hw_addr_set(netdev, new_mac);
 
        return err;
 }
index d5df131b183c7569d33784ed8025656f4c14fc51..323ed40d7d1cf8b5928cb6a2bd56eda74a3854b9 100644 (file)
@@ -2986,7 +2986,7 @@ static struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,
        SET_NETDEV_DEV(dev, port_dev);
 
        /* initialize net_device structure */
-       memcpy(dev->dev_addr, &port->mac_addr, ETH_ALEN);
+       eth_hw_addr_set(dev, &port->mac_addr);
 
        dev->netdev_ops = &ehea_netdev_ops;
        ehea_set_ethtool_ops(dev);
index 3aedb680adb80526dc84966895e5e316fb152583..42d374cef66438913cd959c94e5776666d90f752 100644 (file)
@@ -1720,7 +1720,7 @@ static int ibmveth_probe(struct vio_dev *dev, const struct vio_device_id *id)
        netdev->min_mtu = IBMVETH_MIN_MTU;
        netdev->max_mtu = ETH_MAX_MTU - IBMVETH_BUFF_OH;
 
-       memcpy(netdev->dev_addr, mac_addr_p, ETH_ALEN);
+       eth_hw_addr_set(netdev, mac_addr_p);
 
        if (firmware_has_feature(FW_FEATURE_CMO))
                memcpy(pool_count, pool_count_cmo, sizeof(pool_count));
index 1bdc4f23e1e575e4beafb4c86cc274a5b18d43a5..3ecee2058a40441916f56c4c5df655ca1911d5ea 100644 (file)
@@ -313,7 +313,7 @@ jme_load_macaddr(struct net_device *netdev)
        val = jread32(jme, JME_RXUMA_HI);
        macaddr[4] = (val >>  0) & 0xFF;
        macaddr[5] = (val >>  8) & 0xFF;
-       memcpy(netdev->dev_addr, macaddr, ETH_ALEN);
+       eth_hw_addr_set(netdev, macaddr);
        spin_unlock_bh(&jme->macaddr_lock);
 }
 
index 28d5ad296646aef44c4cb15f8aa3aebe37270bc2..654ec25e67054e4b3aad20105388f7ac880c0395 100644 (file)
@@ -1919,7 +1919,7 @@ static int mv643xx_eth_set_mac_address(struct net_device *dev, void *addr)
        if (!is_valid_ether_addr(sa->sa_data))
                return -EADDRNOTAVAIL;
 
-       memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, sa->sa_data);
 
        netif_addr_lock_bh(dev);
        mv643xx_eth_program_unicast_filter(dev);
@@ -2926,7 +2926,7 @@ static void set_params(struct mv643xx_eth_private *mp,
        unsigned int tx_ring_size;
 
        if (is_valid_ether_addr(pd->mac_addr))
-               memcpy(dev->dev_addr, pd->mac_addr, ETH_ALEN);
+               eth_hw_addr_set(dev, pd->mac_addr);
        else
                uc_addr_get(mp, dev->dev_addr);
 
index 9d460a27060125ee7b7ab8f691baac8bc6fa63c8..1ee9fb8cbc1b3e8ae1bd7dc36c4b3562da799c5c 100644 (file)
@@ -5249,7 +5249,7 @@ static int mvneta_probe(struct platform_device *pdev)
                mvneta_get_mac_addr(pp, hw_mac_addr);
                if (is_valid_ether_addr(hw_mac_addr)) {
                        mac_from = "hardware";
-                       memcpy(dev->dev_addr, hw_mac_addr, ETH_ALEN);
+                       eth_hw_addr_set(dev, hw_mac_addr);
                } else {
                        mac_from = "random";
                        eth_hw_addr_random(dev);
index fab53c9b8380ccc1f409ac3fa2aad0684dbef451..eada23217010425611188e570e7dab22c36543ca 100644 (file)
@@ -607,7 +607,7 @@ static int pxa168_eth_set_mac_address(struct net_device *dev, void *addr)
        if (!is_valid_ether_addr(sa->sa_data))
                return -EADDRNOTAVAIL;
        memcpy(oldMac, dev->dev_addr, ETH_ALEN);
-       memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, sa->sa_data);
 
        mac_h = dev->dev_addr[0] << 24;
        mac_h |= dev->dev_addr[1] << 16;
index 051dd3fb5b0382c48e88ec0df6b7a615a34bf06e..ac48dcca268ca3c98d1cf63119fba4b0ee77af99 100644 (file)
@@ -3459,7 +3459,7 @@ static int skge_set_mac_address(struct net_device *dev, void *p)
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
 
-       memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, addr->sa_data);
 
        if (!netif_running(dev)) {
                memcpy_toio(hw->regs + B2_MAC_1 + port*8, dev->dev_addr, ETH_ALEN);
index 3cb9c1271328a6d30ecedc76103472a09426caab..ce131cfd93acf78003a7dcb7d7c2a3a30bf1df9c 100644 (file)
@@ -3817,7 +3817,7 @@ static int sky2_set_mac_address(struct net_device *dev, void *p)
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
 
-       memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, addr->sa_data);
        memcpy_toio(hw->regs + B2_MAC_1 + port * 8,
                    dev->dev_addr, ETH_ALEN);
        memcpy_toio(hw->regs + B2_MAC_2 + port * 8,
index 8af7f282732255659a1b4dc388a68acbf8ff5a2c..ac480dc79bc1889bfef4ba6915315288b9a3e30e 100644 (file)
@@ -797,7 +797,7 @@ static int mlx4_en_set_mac(struct net_device *dev, void *addr)
        if (err)
                goto out;
 
-       memcpy(dev->dev_addr, saddr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, saddr->sa_data);
        mlx4_en_update_user_mac(priv, new_mac);
 out:
        mutex_unlock(&mdev->state_lock);
index a6db1a8156e1a8ebf2b31ca26b9946ade628ec11..0613528efdaeecc17efbd27068bd611e87297528 100644 (file)
@@ -672,7 +672,7 @@ static int ks8851_set_mac_address(struct net_device *dev, void *addr)
        if (!is_valid_ether_addr(sa->sa_data))
                return -EADDRNOTAVAIL;
 
-       memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, sa->sa_data);
        return ks8851_write_mac_addr(dev);
 }
 
index a0ee155f9f516712f8c50857532498c3f9ab81dd..a1f7f45b9d08a85f9af0c5583c6b53f68ba19f81 100644 (file)
@@ -5581,7 +5581,7 @@ static int netdev_set_mac_address(struct net_device *dev, void *addr)
                memcpy(hw->override_addr, mac->sa_data, ETH_ALEN);
        }
 
-       memcpy(dev->dev_addr, mac->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, mac->sa_data);
 
        interrupt = hw_block_intr(hw);
 
@@ -7005,10 +7005,9 @@ static int pcidev_init(struct pci_dev *pdev, const struct pci_device_id *id)
                dev->mem_end = dev->mem_start + reg_len - 1;
                dev->irq = pdev->irq;
                if (MAIN_PORT == i)
-                       memcpy(dev->dev_addr, hw_priv->hw.override_addr,
-                              ETH_ALEN);
+                       eth_hw_addr_set(dev, hw_priv->hw.override_addr);
                else {
-                       memcpy(dev->dev_addr, sw->other_addr, ETH_ALEN);
+                       eth_hw_addr_set(dev, sw->other_addr);
                        if (ether_addr_equal(sw->other_addr, hw->override_addr))
                                dev->dev_addr[5] += port->first_port;
                }
index e54b9fb2a97a60f0653a5a1c425e58780913462f..8ef3868d7d6882369ef8ebae33988be508c26126 100644 (file)
@@ -1704,7 +1704,7 @@ int ocelot_probe_port(struct ocelot *ocelot, int port, struct regmap *target,
                NETIF_F_HW_TC;
        dev->features |= NETIF_F_HW_VLAN_CTAG_FILTER | NETIF_F_HW_TC;
 
-       memcpy(dev->dev_addr, ocelot->base_mac, ETH_ALEN);
+       eth_hw_addr_set(dev, ocelot->base_mac);
        dev->dev_addr[ETH_ALEN - 1] += port;
        ocelot_mact_learn(ocelot, PGID_CPU, dev->dev_addr,
                          ocelot_port->pvid_vlan.vid, ENTRYTYPE_LOCKED);
index c1a75b08ced7e6ed5d89f9697dfe50e66fd7a424..32760f87bf8a24bc38f32861634cf98ecbcdcc0e 100644 (file)
@@ -3022,7 +3022,7 @@ static int myri10ge_set_mac_address(struct net_device *dev, void *addr)
        }
 
        /* change the dev structure */
-       memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, sa->sa_data);
        return 0;
 }
 
index df4a3f3da83a9b4f6a30b11eb46ab2187b939b41..f3ee51bf0e568d59bdd6d2d47bd7e717793932e2 100644 (file)
@@ -4663,7 +4663,7 @@ vxge_probe(struct pci_dev *pdev, const struct pci_device_id *pre)
 
        /* Store the fw version for ethttool option */
        strcpy(vdev->fw_version, ll_config->device_hw_info.fw_version.version);
-       memcpy(vdev->ndev->dev_addr, (u8 *)vdev->vpaths[0].macaddr, ETH_ALEN);
+       eth_hw_addr_set(vdev->ndev, (u8 *)vdev->vpaths[0].macaddr);
 
        /* Copy the station mac address to the list */
        for (i = 0; i < vdev->no_of_vpath; i++) {
index ef3fb4cc90af67ccccccc9e6a2091e8ad4d621c1..3f269f914dacfdd908bd18a768edea51329c7f70 100644 (file)
@@ -3175,7 +3175,7 @@ static int nv_set_mac_address(struct net_device *dev, void *addr)
                return -EADDRNOTAVAIL;
 
        /* synchronized against open : rtnl_lock() held by caller */
-       memcpy(dev->dev_addr, macaddr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, macaddr->sa_data);
 
        if (netif_running(dev)) {
                netif_tx_lock_bh(dev);
index d29fe562b3decbac43b8454b6a52982c2a864ee0..11ce9fe435ba0d0162af5b382c4213cb663e86b1 100644 (file)
@@ -1093,7 +1093,7 @@ static int lpc_set_mac_address(struct net_device *ndev, void *p)
 
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
-       memcpy(ndev->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(ndev, addr->sa_data);
 
        spin_lock_irqsave(&pldat->lock, flags);
 
index 75960a29f80ea8d2edd2997c471f9dea35f1c05a..73996f47b1e48d08a9b96ea731da52fce71b4b20 100644 (file)
@@ -304,7 +304,7 @@ int qlcnic_read_mac_addr(struct qlcnic_adapter *adapter)
        if (ret)
                return ret;
 
-       memcpy(netdev->dev_addr, mac_addr, ETH_ALEN);
+       eth_hw_addr_set(netdev, mac_addr);
        memcpy(adapter->mac_addr, netdev->dev_addr, netdev->addr_len);
 
        /* set station address */
index 1374faa229a276e2b1d3dd5c5231d72ad6ece929..0a7d23df45f277229d770835ee6ebe90967f1932 100644 (file)
@@ -1153,7 +1153,7 @@ static void update_mac_address(struct net_device *ndev)
 static void read_mac_address(struct net_device *ndev, unsigned char *mac)
 {
        if (mac[0] || mac[1] || mac[2] || mac[3] || mac[4] || mac[5]) {
-               memcpy(ndev->dev_addr, mac, ETH_ALEN);
+               eth_hw_addr_set(ndev, mac);
        } else {
                u32 mahr = sh_eth_read(ndev, MAHR);
                u32 malr = sh_eth_read(ndev, MALR);
index 37ff25a84030eb120a8ee9aaa738a28b7a405232..16f7410bb714845bd22fe201b498ea3e38128968 100644 (file)
@@ -764,7 +764,7 @@ static int sgiseeq_probe(struct platform_device *pdev)
        setup_rx_ring(dev, sp->rx_desc, SEEQ_RX_BUFFERS);
        setup_tx_ring(dev, sp->tx_desc, SEEQ_TX_BUFFERS);
 
-       memcpy(dev->dev_addr, pd->mac, ETH_ALEN);
+       eth_hw_addr_set(dev, pd->mac);
 
 #ifdef DEBUG
        gpriv = sp;
index 518268ce206445e898c0d29b865fe6d3a228a396..6aa81229b68a9e02ff34273cbb82563fd2d3001c 100644 (file)
@@ -1250,7 +1250,7 @@ int ef100_probe_pf(struct efx_nic *efx)
        if (rc)
                goto fail;
        /* Assign MAC address */
-       memcpy(net_dev->dev_addr, net_dev->perm_addr, ETH_ALEN);
+       eth_hw_addr_set(net_dev, net_dev->perm_addr);
        memcpy(nic_data->port_id, net_dev->perm_addr, ETH_ALEN);
 
        return 0;
index 062f7844c496bfd86d4ddf77a674cb7630c32c2f..6220616937a7d20abf03def8b8d0775d588371a3 100644 (file)
@@ -920,7 +920,7 @@ static int ioc3eth_probe(struct platform_device *pdev)
 
        ioc3_mii_start(ip);
        ioc3_ssram_disc(ip);
-       memcpy(dev->dev_addr, mac_addr, ETH_ALEN);
+       eth_hw_addr_set(dev, mac_addr);
 
        /* The IOC3-specific entries in the device structure. */
        dev->watchdog_timeo     = 5 * HZ;
index efce834d8ee673704b555c568a993659d98ab3fd..6d850ea2b94c237786e541d5ec9bd5c7faf001a5 100644 (file)
@@ -836,7 +836,7 @@ static int meth_probe(struct platform_device *pdev)
        dev->watchdog_timeo     = timeout;
        dev->irq                = MACE_ETHERNET_IRQ;
        dev->base_addr          = (unsigned long)&mace->eth;
-       memcpy(dev->dev_addr, o2meth_eaddr, ETH_ALEN);
+       eth_hw_addr_set(dev, o2meth_eaddr);
 
        priv = netdev_priv(dev);
        priv->pdev = pdev;
index 199a9733928064e334835767ebb6a7953a7d7a73..d47308ace075052fd83e1496c0ac77712a807533 100644 (file)
@@ -1939,7 +1939,7 @@ static int smsc911x_set_mac_address(struct net_device *dev, void *p)
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
 
-       memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, addr->sa_data);
 
        spin_lock_irq(&pdata->mac_lock);
        smsc911x_set_hw_mac_address(pdata, dev->dev_addr);
@@ -2525,7 +2525,7 @@ static int smsc911x_drv_probe(struct platform_device *pdev)
                SMSC_TRACE(pdata, probe,
                           "MAC Address is specified by configuration");
        } else if (is_valid_ether_addr(pdata->config.mac)) {
-               memcpy(dev->dev_addr, pdata->config.mac, ETH_ALEN);
+               eth_hw_addr_set(dev, pdata->config.mac);
                SMSC_TRACE(pdata, probe,
                           "MAC Address specified by platform data");
        } else {
index 0600a29ae451ca1eca4b2660935849f8386ec4ec..4415226263e6ec4eab0d0ef03024de0ba3d951ca 100644 (file)
@@ -6815,7 +6815,7 @@ int stmmac_dvr_probe(struct device *device,
                priv->tx_irq[i] = res->tx_irq[i];
 
        if (!is_zero_ether_addr(res->mac))
-               memcpy(priv->dev->dev_addr, res->mac, ETH_ALEN);
+               eth_hw_addr_set(priv->dev, res->mac);
 
        dev_set_drvdata(device, priv->dev);
 
index a68a01d1b2b104451df2e1a2eb1c3893858c22f8..825aca3c68fa5f2d4709e09a45e10d85df81fa3c 100644 (file)
@@ -6386,7 +6386,7 @@ static int niu_set_mac_addr(struct net_device *dev, void *p)
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
 
-       memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, addr->sa_data);
 
        if (!netif_running(dev))
                return 0;
@@ -8344,7 +8344,7 @@ static void niu_pci_vpd_validate(struct niu *np)
                return;
        }
 
-       memcpy(dev->dev_addr, vpd->local_mac, ETH_ALEN);
+       eth_hw_addr_set(dev, vpd->local_mac);
 
        val8 = dev->dev_addr[5];
        dev->dev_addr[5] += np->port;
index d72018a60c0f7d00a379f9e79c73ff1eb5f27c65..a5bda9b34fba8b188879455dacd16473d65629f8 100644 (file)
@@ -2797,7 +2797,7 @@ static int gem_get_device_address(struct gem *gp)
                return -1;
 #endif
        }
-       memcpy(dev->dev_addr, addr, ETH_ALEN);
+       eth_hw_addr_set(dev, addr);
 #else
        get_gem_mac_nonobp(gp->pdev, gp->dev->dev_addr);
 #endif
index 62f81b0d14ed8f0c6c74465f24a5be0ecf7ed684..fe5482b1872fdce5dfc6568c7aac8b9e465cd177 100644 (file)
@@ -2707,9 +2707,9 @@ static int happy_meal_sbus_probe_one(struct platform_device *op, int is_qfe)
                addr = of_get_property(dp, "local-mac-address", &len);
 
                if (qfe_slot != -1 && addr && len == ETH_ALEN)
-                       memcpy(dev->dev_addr, addr, ETH_ALEN);
+                       eth_hw_addr_set(dev, addr);
                else
-                       memcpy(dev->dev_addr, idprom->id_ethaddr, ETH_ALEN);
+                       eth_hw_addr_set(dev, idprom->id_ethaddr);
        }
 
        hp = netdev_priv(dev);
@@ -3055,9 +3055,9 @@ static int happy_meal_pci_probe(struct pci_dev *pdev,
                    (addr = of_get_property(dp, "local-mac-address", &len))
                        != NULL &&
                    len == 6) {
-                       memcpy(dev->dev_addr, addr, ETH_ALEN);
+                       eth_hw_addr_set(dev, addr);
                } else {
-                       memcpy(dev->dev_addr, idprom->id_ethaddr, ETH_ALEN);
+                       eth_hw_addr_set(dev, idprom->id_ethaddr);
                }
 #else
                get_hme_mac_nonsparc(pdev, &dev->dev_addr[0]);
index 577cd9753d8e389fe3dd811109abb8ee6c9a240e..52b1053a0a77b9f1533cb1ee424eb1382d78fa50 100644 (file)
@@ -844,7 +844,7 @@ static int qec_ether_init(struct platform_device *op)
        if (!dev)
                return -ENOMEM;
 
-       memcpy(dev->dev_addr, idprom->id_ethaddr, ETH_ALEN);
+       eth_hw_addr_set(dev, idprom->id_ethaddr);
 
        qe = netdev_priv(dev);
 
index 66f7ddd9b1f9940943b64c824b54049a46d9ed49..33142d505fc816f01dca0a1573ff6bd45776fc31 100644 (file)
@@ -985,7 +985,7 @@ static int cpsw_ndo_set_mac_address(struct net_device *ndev, void *p)
                           flags, vid);
 
        memcpy(priv->mac_addr, addr->sa_data, ETH_ALEN);
-       memcpy(ndev->dev_addr, priv->mac_addr, ETH_ALEN);
+       eth_hw_addr_set(ndev, priv->mac_addr);
        for_each_slave(priv, cpsw_set_slave_mac, priv);
 
        pm_runtime_put(cpsw->dev);
@@ -1460,7 +1460,7 @@ static int cpsw_probe_dual_emac(struct cpsw_priv *priv)
                dev_info(cpsw->dev, "cpsw: Random MACID = %pM\n",
                         priv_sl2->mac_addr);
        }
-       memcpy(ndev->dev_addr, priv_sl2->mac_addr, ETH_ALEN);
+       eth_hw_addr_set(ndev, priv_sl2->mac_addr);
 
        priv_sl2->emac_port = 1;
        cpsw->slaves[1].ndev = ndev;
@@ -1639,7 +1639,7 @@ static int cpsw_probe(struct platform_device *pdev)
                dev_info(dev, "Random MACID = %pM\n", priv->mac_addr);
        }
 
-       memcpy(ndev->dev_addr, priv->mac_addr, ETH_ALEN);
+       eth_hw_addr_set(ndev, priv->mac_addr);
 
        cpsw->slaves[0].ndev = ndev;
 
index 55e652624bd76bf6044fa4e3d5739e3acc100d14..1425623b868e03056cd250b4b37844b5c5ca4982 100644 (file)
@@ -1477,7 +1477,7 @@ int gelic_net_setup_netdev(struct net_device *netdev, struct gelic_card *card)
                         __func__, status);
                return -EINVAL;
        }
-       memcpy(netdev->dev_addr, &v1, ETH_ALEN);
+       eth_hw_addr_set(netdev, &v1);
 
        if (card->vlan_required) {
                netdev->hard_header_len += VLAN_HLEN;
index 66d4e024d11e9038d8edfedd742ecf09c9c23958..f50f9a43d3ea2af229e5d6a404d4541986561493 100644 (file)
@@ -1296,7 +1296,7 @@ spider_net_set_mac(struct net_device *netdev, void *p)
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
 
-       memcpy(netdev->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(netdev, addr->sa_data);
 
        /* switch off GMACTPE and GMACRPE */
        regvalue = spider_net_read_reg(card, SPIDER_NET_GMACOPEMD);
index 52245ac60fc74ff251423eaebfe0450102d72711..93453e5713b21f4e06d838ff936bf7b97b92f1bd 100644 (file)
@@ -708,7 +708,7 @@ static int tc35815_read_plat_dev_addr(struct net_device *dev)
                                            lp->pci_dev, tc35815_mac_match);
        if (pd) {
                if (pd->platform_data)
-                       memcpy(dev->dev_addr, pd->platform_data, ETH_ALEN);
+                       eth_hw_addr_set(dev, pd->platform_data);
                put_device(pd);
                return is_valid_ether_addr(dev->dev_addr) ? 0 : -ENODEV;
        }
index f974e70a82e8b876a062f99d09794a56158b2f4f..88fc65ed00171c0a7d87b8490d61e03fcdbaff88 100644 (file)
@@ -985,7 +985,7 @@ static int w5100_set_macaddr(struct net_device *ndev, void *addr)
 
        if (!is_valid_ether_addr(sock_addr->sa_data))
                return -EADDRNOTAVAIL;
-       memcpy(ndev->dev_addr, sock_addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(ndev, sock_addr->sa_data);
        w5100_write_macaddr(priv);
        return 0;
 }
@@ -1155,7 +1155,7 @@ int w5100_probe(struct device *dev, const struct w5100_ops *ops,
        INIT_WORK(&priv->restart_work, w5100_restart_work);
 
        if (mac_addr)
-               memcpy(ndev->dev_addr, mac_addr, ETH_ALEN);
+               eth_hw_addr_set(ndev, mac_addr);
        else
                eth_hw_addr_random(ndev);
 
index 46aae30c4636722f3684721300779f0eea30de31..402d5036f266838d14230cdd66f561bac10c8f47 100644 (file)
@@ -472,7 +472,7 @@ static int w5300_set_macaddr(struct net_device *ndev, void *addr)
 
        if (!is_valid_ether_addr(sock_addr->sa_data))
                return -EADDRNOTAVAIL;
-       memcpy(ndev->dev_addr, sock_addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(ndev, sock_addr->sa_data);
        w5300_write_macaddr(priv);
        return 0;
 }
@@ -534,7 +534,7 @@ static int w5300_hw_probe(struct platform_device *pdev)
        int ret;
 
        if (data && is_valid_ether_addr(data->mac_addr)) {
-               memcpy(ndev->dev_addr, data->mac_addr, ETH_ALEN);
+               eth_hw_addr_set(ndev, data->mac_addr);
        } else {
                eth_hw_addr_random(ndev);
        }
index 463094ced104ac3d90f567f0fca026156011f0b8..e7065c9a8e3898da8817f2bba420022e33607f1c 100644 (file)
@@ -438,7 +438,7 @@ static void temac_do_set_mac_address(struct net_device *ndev)
 
 static int temac_init_mac_address(struct net_device *ndev, const void *address)
 {
-       memcpy(ndev->dev_addr, address, ETH_ALEN);
+       eth_hw_addr_set(ndev, address);
        if (!is_valid_ether_addr(ndev->dev_addr))
                eth_hw_addr_random(ndev);
        temac_do_set_mac_address(ndev);
@@ -451,7 +451,7 @@ static int temac_set_mac_address(struct net_device *ndev, void *p)
 
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
-       memcpy(ndev->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(ndev, addr->sa_data);
        temac_do_set_mac_address(ndev);
        return 0;
 }
index 871b5ec3183d6895f368247cf2bfb3e16cb2c92b..0b7606987c1e3ac3e32f933a7021dc33b6ad9b80 100644 (file)
@@ -360,7 +360,7 @@ static void axienet_set_mac_address(struct net_device *ndev,
        struct axienet_local *lp = netdev_priv(ndev);
 
        if (address)
-               memcpy(ndev->dev_addr, address, ETH_ALEN);
+               eth_hw_addr_set(ndev, address);
        if (!is_valid_ether_addr(ndev->dev_addr))
                eth_hw_addr_random(ndev);
 
index 931494cc1c39e108def984798997623d13ea6a8d..3e5fd952aeaa5d340469ac0951800db044ddcd1d 100644 (file)
@@ -1524,7 +1524,7 @@ static int ixp4xx_eth_probe(struct platform_device *pdev)
 
        port->plat = plat;
        npe_port_tab[NPE_ID(port->id)] = port;
-       memcpy(ndev->dev_addr, plat->hwaddr, ETH_ALEN);
+       eth_hw_addr_set(ndev, plat->hwaddr);
 
        platform_set_drvdata(pdev, ndev);
 
index 73fce9467467e15443391d8c8bc3be83f5b55ff4..b57530c231a671eda548902bb3b8a64e20450887 100644 (file)
@@ -304,7 +304,7 @@ void eth_commit_mac_addr_change(struct net_device *dev, void *p)
 {
        struct sockaddr *addr = p;
 
-       memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
+       eth_hw_addr_set(dev, addr->sa_data);
 }
 EXPORT_SYMBOL(eth_commit_mac_addr_change);