OSDN Git Service

ethernet: ocelot: use eth_hw_addr_gen()
authorJakub Kicinski <kuba@kernel.org>
Mon, 18 Oct 2021 21:10:03 +0000 (14:10 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 19 Oct 2021 11:46:24 +0000 (12:46 +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.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mscc/ocelot_net.c

index 9992bf0..affa964 100644 (file)
@@ -1705,8 +1705,7 @@ int ocelot_probe_port(struct ocelot *ocelot, int port, struct regmap *target,
                NETIF_F_HW_TC;
        dev->features |= NETIF_F_HW_VLAN_CTAG_FILTER | NETIF_F_HW_TC;
 
-       eth_hw_addr_set(dev, ocelot->base_mac);
-       dev->dev_addr[ETH_ALEN - 1] += port;
+       eth_hw_addr_gen(dev, ocelot->base_mac, port);
        ocelot_mact_learn(ocelot, PGID_CPU, dev->dev_addr,
                          ocelot_port->pvid_vlan.vid, ENTRYTYPE_LOCKED);