From: Jakub Kicinski <kuba@kernel.org>
Date: Tue, 19 Oct 2021 10:12:36 -0700
Subject: staging: use eth_hw_addr_set()
Patch-mainline: v5.16-rc1
Git-commit: 6ed178cb23ec7503dd354c02c0c9ef97a6b8b22a
References: jsc#PED-1565
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 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)
@@
- memcpy(dev->dev_addr, np, 6)
+ eth_hw_addr_set(dev, np)
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/r/20211019171243.1412240-2-kuba@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
drivers/staging/rtl8192u/r8192U_core.c | 2 +-
drivers/staging/rtl8712/os_intfs.c | 4 ++--
drivers/staging/rtl8723bs/os_dep/os_intfs.c | 2 +-
drivers/staging/rtl8723bs/os_dep/osdep_service.c | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
--- a/drivers/staging/rtl8192u/r8192U_core.c
+++ b/drivers/staging/rtl8192u/r8192U_core.c
@@ -2310,7 +2310,7 @@ static int rtl8192_read_eeprom_info(stru
*(u16 *)(&dev->dev_addr[i]) = (u16)ret;
}
} else {
- memcpy(dev->dev_addr, bMac_Tmp_Addr, 6);
+ eth_hw_addr_set(dev, bMac_Tmp_Addr);
/* should I set IDR0 here? */
}
RT_TRACE(COMP_EPROM, "MAC addr:%pM\n", dev->dev_addr);
--- a/drivers/staging/rtl8712/os_intfs.c
+++ b/drivers/staging/rtl8712/os_intfs.c
@@ -381,8 +381,8 @@ static int netdev_open(struct net_device
goto netdev_open_error;
if (!r8712_initmac) {
/* Use the mac address stored in the Efuse */
- memcpy(pnetdev->dev_addr,
- padapter->eeprompriv.mac_addr, ETH_ALEN);
+ eth_hw_addr_set(pnetdev,
+ padapter->eeprompriv.mac_addr);
} else {
/* We have to inform f/w to use user-supplied MAC
* address.
--- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c
+++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
@@ -812,7 +812,7 @@ static int _rtw_drv_register_netdev(stru
if (rtw_init_netdev_name(pnetdev, name))
return _FAIL;
- memcpy(pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
+ eth_hw_addr_set(pnetdev, padapter->eeprompriv.mac_addr);
/* Tell the network stack we exist */
if (register_netdev(pnetdev) != 0) {
--- a/drivers/staging/rtl8723bs/os_dep/osdep_service.c
+++ b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
@@ -149,7 +149,7 @@ int rtw_change_ifname(struct adapter *pa
rtw_init_netdev_name(pnetdev, ifname);
- memcpy(pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
+ eth_hw_addr_set(pnetdev, padapter->eeprompriv.mac_addr);
if (!rtnl_is_locked())
ret = register_netdev(pnetdev);