From 13898e9341824f8d96cb37e5f36eb1828e9f2e63 Mon Sep 17 00:00:00 2001 From: Jakub Kicinski Date: Tue, 19 Oct 2021 10:12:41 -0700 Subject: [PATCH] staging: unisys: 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. Signed-off-by: Jakub Kicinski Link: https://lore.kernel.org/r/20211019171243.1412240-7-kuba@kernel.org Signed-off-by: Greg Kroah-Hartman --- drivers/staging/unisys/visornic/visornic_main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/staging/unisys/visornic/visornic_main.c b/drivers/staging/unisys/visornic/visornic_main.c index a3bc568c660d..62cd9b783732 100644 --- a/drivers/staging/unisys/visornic/visornic_main.c +++ b/drivers/staging/unisys/visornic/visornic_main.c @@ -1782,6 +1782,7 @@ static int visornic_probe(struct visor_device *dev) struct net_device *netdev = NULL; int err; int channel_offset = 0; + u8 addr[ETH_ALEN]; u64 features; netdev = alloc_etherdev(sizeof(struct visornic_devdata)); @@ -1798,14 +1799,14 @@ static int visornic_probe(struct visor_device *dev) /* Get MAC address from channel and read it into the device. */ netdev->addr_len = ETH_ALEN; channel_offset = offsetof(struct visor_io_channel, vnic.macaddr); - err = visorbus_read_channel(dev, channel_offset, netdev->dev_addr, - ETH_ALEN); + err = visorbus_read_channel(dev, channel_offset, addr, ETH_ALEN); if (err < 0) { dev_err(&dev->device, "%s failed to get mac addr from chan (%d)\n", __func__, err); goto cleanup_netdev; } + eth_hw_addr_set(netdev, addr); devdata = devdata_initialize(netdev_priv(netdev), dev); if (!devdata) {