]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
ethernet: ec_bhf: use eth_hw_addr_set()
authorJakub Kicinski <kuba@kernel.org>
Fri, 15 Oct 2021 22:16:49 +0000 (15:16 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 16 Oct 2021 07:53:46 +0000 (08:53 +0100)
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.

Copy the address 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>
drivers/net/ethernet/ec_bhf.c

index b2d4fb3feb74482b8541f2edac695ad9a6a53400..46e3a05e95824842e116853c7dccd9ac1340c6ef 100644 (file)
@@ -479,6 +479,7 @@ static int ec_bhf_probe(struct pci_dev *dev, const struct pci_device_id *id)
        struct net_device *net_dev;
        struct ec_bhf_priv *priv;
        void __iomem *dma_io;
+       u8 addr[ETH_ALEN];
        void __iomem *io;
        int err = 0;
 
@@ -539,7 +540,8 @@ static int ec_bhf_probe(struct pci_dev *dev, const struct pci_device_id *id)
        if (err < 0)
                goto err_free_net_dev;
 
-       memcpy_fromio(net_dev->dev_addr, priv->mii_io + MII_MAC_ADDR, 6);
+       memcpy_fromio(addr, priv->mii_io + MII_MAC_ADDR, ETH_ALEN);
+       eth_hw_addr_set(net_dev, addr);
 
        err = register_netdev(net_dev);
        if (err < 0)