Commit 5a48585d authored by Jakub Kicinski's avatar Jakub Kicinski

net: thunderbolt: use eth_hw_addr_set()

Commit 406f42fa ("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 go through appropriate helpers.
Acked-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
Link: https://lore.kernel.org/r/20211026175547.3198242-1-kuba@kernel.orgSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 8b6ce9b0
...@@ -1202,17 +1202,19 @@ static void tbnet_generate_mac(struct net_device *dev) ...@@ -1202,17 +1202,19 @@ static void tbnet_generate_mac(struct net_device *dev)
{ {
const struct tbnet *net = netdev_priv(dev); const struct tbnet *net = netdev_priv(dev);
const struct tb_xdomain *xd = net->xd; const struct tb_xdomain *xd = net->xd;
u8 addr[ETH_ALEN];
u8 phy_port; u8 phy_port;
u32 hash; u32 hash;
phy_port = tb_phy_port_from_link(TBNET_L0_PORT_NUM(xd->route)); phy_port = tb_phy_port_from_link(TBNET_L0_PORT_NUM(xd->route));
/* Unicast and locally administered MAC */ /* Unicast and locally administered MAC */
dev->dev_addr[0] = phy_port << 4 | 0x02; addr[0] = phy_port << 4 | 0x02;
hash = jhash2((u32 *)xd->local_uuid, 4, 0); hash = jhash2((u32 *)xd->local_uuid, 4, 0);
memcpy(dev->dev_addr + 1, &hash, sizeof(hash)); memcpy(addr + 1, &hash, sizeof(hash));
hash = jhash2((u32 *)xd->local_uuid, 4, hash); hash = jhash2((u32 *)xd->local_uuid, 4, hash);
dev->dev_addr[5] = hash & 0xff; addr[5] = hash & 0xff;
eth_hw_addr_set(dev, addr);
} }
static int tbnet_probe(struct tb_service *svc, const struct tb_service_id *id) static int tbnet_probe(struct tb_service *svc, const struct tb_service_id *id)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment