Commit 2ce8a411 authored by Fernando Fernandez Mancera's avatar Fernando Fernandez Mancera Committed by Paolo Abeni
Browse files

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: default avatarLuka Gejak <luka.gejak@linux.dev>
Closes: https://lore.kernel.org/netdev/DHFCZEM93FTT.1RWFBIE32K7OT@linux.dev/


Signed-off-by: default avatarFernando Fernandez Mancera <fmancera@suse.de>
Reviewed-by: default avatarFelix Maurer <fmaurer@redhat.com>
Link: https://patch.msgid.link/20260403123928.4249-2-fmancera@suse.de


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 97a8355b
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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);
		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);