]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: dsa: avoid calling ds->ops->port_hsr_leave() when unoffloaded
authorVladimir Oltean <vladimir.oltean@nxp.com>
Sun, 30 Nov 2025 13:16:45 +0000 (15:16 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 2 Dec 2025 00:45:06 +0000 (16:45 -0800)
commitbed59a86e91ad680331ecad4bf8717cbd4f5fc7f
tree43e36fd82cad17fffd6b7d168f3d4675e71702a2
parenta0244e76213980f3b9bb5d40b0b6705fcf24230d
net: dsa: avoid calling ds->ops->port_hsr_leave() when unoffloaded

This mirrors what we do in dsa_port_lag_leave() and
dsa_port_bridge_leave(): when ds->ops->port_hsr_join() returns
-EOPNOTSUPP, we fall back to a software implementation where dp->hsr_dev
is NULL, and the unoffloaded port is no longer bothered with calls from
the HSR layer.

This helps, for example, with interlink ports which current DSA drivers
don't know how to offload. We have to check only in port_hsr_join() for
the port type, then in port_hsr_leave() we are sure we're dealing only
with known port types.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://patch.msgid.link/20251130131657.65080-4-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/dsa/port.c