ethernet: alteon: use eth_hw_addr_set()

Commit 406f42fa0d ("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.

Break the address apart into an array on the stack, then call
eth_hw_addr_set().

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jakub Kicinski 2021-10-15 15:16:43 -07:00 committed by David S. Miller
parent 0d4c751715
commit ffaeca68fb

View File

@ -869,6 +869,7 @@ static int ace_init(struct net_device *dev)
int board_idx, ecode = 0;
short i;
unsigned char cache_size;
u8 addr[ETH_ALEN];
ap = netdev_priv(dev);
regs = ap->regs;
@ -988,12 +989,13 @@ static int ace_init(struct net_device *dev)
writel(mac1, &regs->MacAddrHi);
writel(mac2, &regs->MacAddrLo);
dev->dev_addr[0] = (mac1 >> 8) & 0xff;
dev->dev_addr[1] = mac1 & 0xff;
dev->dev_addr[2] = (mac2 >> 24) & 0xff;
dev->dev_addr[3] = (mac2 >> 16) & 0xff;
dev->dev_addr[4] = (mac2 >> 8) & 0xff;
dev->dev_addr[5] = mac2 & 0xff;
addr[0] = (mac1 >> 8) & 0xff;
addr[1] = mac1 & 0xff;
addr[2] = (mac2 >> 24) & 0xff;
addr[3] = (mac2 >> 16) & 0xff;
addr[4] = (mac2 >> 8) & 0xff;
addr[5] = mac2 & 0xff;
eth_hw_addr_set(dev, addr);
printk("MAC: %pM\n", dev->dev_addr);