From: Petr Machata Date: Wed, 30 May 2018 01:00:49 +0000 (+0200) Subject: mlxsw: spectrum_switchdev: Schedule respin during trans prepare X-Git-Tag: Ubuntu-5.2.0-15.16~4262^2~92^2 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=7edcb8ecbe6a285fc4608c22ad5d5c35b8809ff7;p=mirror_ubuntu-eoan-kernel.git mlxsw: spectrum_switchdev: Schedule respin during trans prepare Since there's no special support for the bridge events, the driver returns -EOPNOTSUPP, and thus the commit never happens. Therefore schedule respin during the prepare stage: there's no real difference one way or another. This fixes the problem that mirror-to-gretap offload wouldn't adapt to changes in bridge vlan configuration right away and another notification would have to arrive for mlxsw to catch up. Signed-off-by: Petr Machata Reviewed-by: Ido Schimmel Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c index cbc8fabc90c5..8a15ac49cb5a 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c @@ -1697,7 +1697,7 @@ static int mlxsw_sp_port_obj_add(struct net_device *dev, vlan = SWITCHDEV_OBJ_PORT_VLAN(obj); err = mlxsw_sp_port_vlans_add(mlxsw_sp_port, vlan, trans); - if (switchdev_trans_ph_commit(trans)) { + if (switchdev_trans_ph_prepare(trans)) { /* The event is emitted before the changes are actually * applied to the bridge. Therefore schedule the respin * call for later, so that the respin logic sees the