Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

staging: use eth_hw_addr_set() instead of ether_addr_copy()

Commit 406f42fa0d3c ("net-next: When a bond have a massive amount
of VLANs...") introduced a rbtree for faster Ethernet address look
up. To maintain netdev->dev_addr in this tree we need to make all
the writes to it got through appropriate helpers.

Convert staging from ether_addr_copy() to eth_hw_addr_set():

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

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/r/20211019171243.1412240-3-kuba@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Jakub Kicinski and committed by
Greg Kroah-Hartman
349f631d 6ed178cb

+8 -8
+1 -1
drivers/staging/ks7010/ks_hostif.c
··· 541 541 hostif_sme_enqueue(priv, SME_GET_MAC_ADDRESS); 542 542 ether_addr_copy(priv->eth_addr, priv->rxp); 543 543 priv->mac_address_valid = true; 544 - ether_addr_copy(dev->dev_addr, priv->eth_addr); 544 + eth_hw_addr_set(dev, priv->eth_addr); 545 545 netdev_info(dev, "MAC ADDRESS = %pM\n", priv->eth_addr); 546 546 break; 547 547 case DOT11_PRODUCT_VERSION:
+1 -1
drivers/staging/ks7010/ks_wlan_net.c
··· 2625 2625 2626 2626 /* dummy address set */ 2627 2627 ether_addr_copy(priv->eth_addr, dummy_addr); 2628 - ether_addr_copy(dev->dev_addr, priv->eth_addr); 2628 + eth_hw_addr_set(dev, priv->eth_addr); 2629 2629 2630 2630 /* The ks_wlan-specific entries in the device structure. */ 2631 2631 dev->netdev_ops = &ks_wlan_netdev_ops;
+1 -1
drivers/staging/most/net/net.c
··· 564 564 if (m && is_valid_ether_addr(m)) { 565 565 if (!is_valid_ether_addr(dev->dev_addr)) { 566 566 netdev_info(dev, "set mac %pM\n", m); 567 - ether_addr_copy(dev->dev_addr, m); 567 + eth_hw_addr_set(dev, m); 568 568 netif_dormant_off(dev); 569 569 } else if (!ether_addr_equal(dev->dev_addr, m)) { 570 570 netdev_warn(dev, "reject mac %pM\n", m);
+1 -1
drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c
··· 366 366 *(u16 *)(&dev->dev_addr[i]) = usValue; 367 367 } 368 368 } else { 369 - ether_addr_copy(dev->dev_addr, bMac_Tmp_Addr); 369 + eth_hw_addr_set(dev, bMac_Tmp_Addr); 370 370 } 371 371 372 372 RT_TRACE(COMP_INIT, "Permanent Address = %pM\n",
+1 -1
drivers/staging/rtl8192e/rtl8192e/rtl_core.c
··· 2235 2235 2236 2236 mutex_lock(&priv->wx_mutex); 2237 2237 2238 - ether_addr_copy(dev->dev_addr, addr->sa_data); 2238 + eth_hw_addr_set(dev, addr->sa_data); 2239 2239 2240 2240 schedule_work(&priv->reset_wq); 2241 2241 mutex_unlock(&priv->wx_mutex);
+1 -1
drivers/staging/rtl8192u/r8192U_core.c
··· 3454 3454 3455 3455 mutex_lock(&priv->wx_mutex); 3456 3456 3457 - ether_addr_copy(dev->dev_addr, addr->sa_data); 3457 + eth_hw_addr_set(dev, addr->sa_data); 3458 3458 3459 3459 schedule_work(&priv->reset_wq); 3460 3460 mutex_unlock(&priv->wx_mutex);
+1 -1
drivers/staging/rtl8712/os_intfs.c
··· 166 166 struct sockaddr *addr = p; 167 167 168 168 if (!padapter->bup) 169 - ether_addr_copy(pnetdev->dev_addr, addr->sa_data); 169 + eth_hw_addr_set(pnetdev, addr->sa_data); 170 170 return 0; 171 171 } 172 172
+1 -1
drivers/staging/rtl8712/usb_intf.c
··· 563 563 dev_info(&udev->dev, 564 564 "r8712u: MAC Address from efuse = %pM\n", mac); 565 565 } 566 - ether_addr_copy(pnetdev->dev_addr, mac); 566 + eth_hw_addr_set(pnetdev, mac); 567 567 } 568 568 /* step 6. Load the firmware asynchronously */ 569 569 if (rtl871x_load_fw(padapter))