Messages in this thread | | | From | Vladimir Oltean <> | Subject | Re: [PATCH net] net: ocelot: Fix the call to switchdev_bridge_port_offload | Date | Mon, 17 Jan 2022 13:00:35 +0000 |
| |
On Mon, Jan 17, 2022 at 01:53:00PM +0100, Horatiu Vultur wrote: > In the blamed commit, the call to the function > switchdev_bridge_port_offload was passing the wrong argument for > atomic_nb. It was ocelot_netdevice_nb instead of ocelot_swtchdev_nb. > This patch fixes this issue. > > Fixes: 4e51bf44a03af6 ("net: bridge: move the switchdev object replay helpers to "push" mode") > Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> > --- > drivers/net/ethernet/mscc/ocelot_net.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/ethernet/mscc/ocelot_net.c b/drivers/net/ethernet/mscc/ocelot_net.c > index 8115c3db252e..e271b6225b72 100644 > --- a/drivers/net/ethernet/mscc/ocelot_net.c > +++ b/drivers/net/ethernet/mscc/ocelot_net.c > @@ -1187,7 +1187,7 @@ static int ocelot_netdevice_bridge_join(struct net_device *dev, > ocelot_port_bridge_join(ocelot, port, bridge); > > err = switchdev_bridge_port_offload(brport_dev, dev, priv, > - &ocelot_netdevice_nb, > + &ocelot_switchdev_nb, > &ocelot_switchdev_blocking_nb, > false, extack); > if (err) > @@ -1201,7 +1201,7 @@ static int ocelot_netdevice_bridge_join(struct net_device *dev, > > err_switchdev_sync: > switchdev_bridge_port_unoffload(brport_dev, priv, > - &ocelot_netdevice_nb, > + &ocelot_switchdev_nb, > &ocelot_switchdev_blocking_nb); > err_switchdev_offload: > ocelot_port_bridge_leave(ocelot, port, bridge); > @@ -1214,7 +1214,7 @@ static void ocelot_netdevice_pre_bridge_leave(struct net_device *dev, > struct ocelot_port_private *priv = netdev_priv(dev); > > switchdev_bridge_port_unoffload(brport_dev, priv, > - &ocelot_netdevice_nb, > + &ocelot_switchdev_nb, > &ocelot_switchdev_blocking_nb); > } > > -- > 2.33.0 >
Oh my... I remember noticing this issue when preparing those patches, and also noticed that ocelot doesn't implement SWITCHDEV_FDB_{ADD,DEL}_TO_DEVICE anyway. So I wanted to pass NULL anyway. I don't know what happened, I must have made the fixup on a branch which wasn't the branch that I posted. Anyway.
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
| |