Messages in this thread | | | Date | Mon, 14 Mar 2022 19:55:56 +0200 | From | Vladimir Oltean <> | Subject | Re: [PATCH v3 net-next 09/14] net: dsa: Validate hardware support for MST |
| |
On Mon, Mar 14, 2022 at 06:56:49PM +0200, Vladimir Oltean wrote: > > diff --git a/net/dsa/port.c b/net/dsa/port.c > > index 58291df14cdb..1a17a0efa2fa 100644 > > --- a/net/dsa/port.c > > +++ b/net/dsa/port.c > > @@ -240,6 +240,10 @@ static int dsa_port_switchdev_sync_attrs(struct dsa_port *dp, > > if (err && err != -EOPNOTSUPP) > > return err; > > > > + err = dsa_port_mst_enable(dp, br_mst_enabled(br), extack); > > + if (err && err != -EOPNOTSUPP) > > + return err; > > Sadly this will break down because we don't have unwinding on error in > place (sorry). We'd end up with an unoffloaded bridge port with > partially synced bridge port attributes. Could you please add a patch > previous to this one that handles this, and unoffloads those on error?
Actually I would rather rename the entire dsa_port_mst_enable() function to dsa_port_mst_validate() and move it to the beginning of dsa_port_bridge_join(). This simplifies the unwinding that needs to take place quite a bit.
| |