mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
net: hsr: emit notification for PRP slave2 changed hw addr on port deletion
On PRP protocol, when deleting the port the MAC address change notification was missing. In addition to that, make sure to only perform the MAC address change on slave2 deletion and PRP protocol as the operation isn't necessary for HSR nor slave1. Note that the eth_hw_addr_set() is correct on PRP context as the slaves are either in promiscuous mode or forward offload enabled. Reported-by: Luka Gejak <luka.gejak@linux.dev> Closes: https://lore.kernel.org/netdev/DHFCZEM93FTT.1RWFBIE32K7OT@linux.dev/ Signed-off-by: Fernando Fernandez Mancera <fmancera@suse.de> Reviewed-by: Felix Maurer <fmaurer@redhat.com> Link: https://patch.msgid.link/20260403123928.4249-2-fmancera@suse.de Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
committed by
Paolo Abeni
parent
97a8355b6a
commit
2ce8a41113
@@ -243,7 +243,11 @@ void hsr_del_port(struct hsr_port *port)
|
||||
if (!port->hsr->fwd_offloaded)
|
||||
dev_set_promiscuity(port->dev, -1);
|
||||
netdev_upper_dev_unlink(port->dev, master->dev);
|
||||
eth_hw_addr_set(port->dev, port->original_macaddress);
|
||||
if (hsr->prot_version == PRP_V1 &&
|
||||
port->type == HSR_PT_SLAVE_B) {
|
||||
eth_hw_addr_set(port->dev, port->original_macaddress);
|
||||
call_netdevice_notifiers(NETDEV_CHANGEADDR, port->dev);
|
||||
}
|
||||
}
|
||||
|
||||
kfree_rcu(port, rcu);
|
||||
|
||||
Reference in New Issue
Block a user