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

arch: use eth_hw_addr_set()

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 misc arch 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>
Acked-by: Max Filippov <jcmvbkbc@gmail.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Jakub Kicinski and committed by
David S. Miller
4e9b9de6 fa8274b7

+2 -2
+1 -1
arch/m68k/emu/nfeth.c
··· 200 200 dev->irq = nfEtherIRQ; 201 201 dev->netdev_ops = &nfeth_netdev_ops; 202 202 203 - memcpy(dev->dev_addr, mac, ETH_ALEN); 203 + eth_hw_addr_set(dev, mac); 204 204 205 205 priv = netdev_priv(dev); 206 206 priv->ethX = unit;
+1 -1
arch/xtensa/platforms/iss/network.c
··· 467 467 if (!is_valid_ether_addr(hwaddr->sa_data)) 468 468 return -EADDRNOTAVAIL; 469 469 spin_lock_bh(&lp->lock); 470 - memcpy(dev->dev_addr, hwaddr->sa_data, ETH_ALEN); 470 + eth_hw_addr_set(dev, hwaddr->sa_data); 471 471 spin_unlock_bh(&lp->lock); 472 472 return 0; 473 473 }