When a port leaves a bridge, the bridge layer now restores its STP state to Forwarding, if the device belong to a switchdev user.
Thus remove this redundant action from the DSA layer. Signed-off-by: Vivien Didelot <vivien.dide...@savoirfairelinux.com> --- net/dsa/slave.c | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 40b9ca7..2b3774e 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -410,18 +410,6 @@ static u32 dsa_slave_br_port_mask(struct dsa_switch *ds, return mask; } -static int dsa_slave_stp_update(struct net_device *dev, u8 state) -{ - struct dsa_slave_priv *p = netdev_priv(dev); - struct dsa_switch *ds = p->parent; - int ret = -EOPNOTSUPP; - - if (ds->drv->port_stp_update) - ret = ds->drv->port_stp_update(ds, p->port, state); - - return ret; -} - static int dsa_slave_port_attr_set(struct net_device *dev, const struct switchdev_attr *attr, struct switchdev_trans *trans) @@ -552,11 +540,6 @@ static int dsa_slave_bridge_port_leave(struct net_device *dev) p->bridge_dev = NULL; - /* Port left the bridge, put in BR_STATE_DISABLED by the bridge layer, - * so allow it to be in BR_STATE_FORWARDING to be kept functional - */ - dsa_slave_stp_update(dev, BR_STATE_FORWARDING); - return ret; } -- 2.7.1