From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=j8z4v8YxtWANrTWb6RFPyfnlW/ootQzYbnhWcATbHWQ=; b=AjMTYWO0eXv50h4Efspnrs7DrZdGLyTZb5SWWsRCQUMcCXc1oNqULW6PhRKMLgap58 B4Krs3qCdiKdxIBQwTlcfDKIX9Hcb/6cnL2UJqNXK2S0+3a1WTdaeEGnylXLthn65qo/ lah1W+eNY1Leu9LzmbypCiIaZGNz0wy5QR6f6SR/g306mIXdHgIQLbNuVHOKNBFe66Sz SrZdOLdgZ91VgLzbtP147JkR4lv0B1cburt4PRocOahUCRM6l9TIherZOKfA3v+z0Rqf iyUvAAosQnmzynDKWwVA6QY+xt+DNMQUQb6Tg26+frCQSkIhjFkeafwyQkd3km1GsRhC mpxA== Date: Mon, 14 Mar 2022 19:55:56 +0200 From: Vladimir Oltean Message-ID: <20220314175556.7mjr4tui4vb4i5qn@skbuf> References: <20220314095231.3486931-1-tobias@waldekranz.com> <20220314095231.3486931-10-tobias@waldekranz.com> <20220314165649.vtsd3xqv7htut55d@skbuf> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220314165649.vtsd3xqv7htut55d@skbuf> Subject: Re: [Bridge] [PATCH v3 net-next 09/14] net: dsa: Validate hardware support for MST List-Id: Linux Ethernet Bridging List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Tobias Waldekranz Cc: Ivan Vecera , Andrew Lunn , Florian Fainelli , Jiri Pirko , bridge@lists.linux-foundation.org, Ido Schimmel , Nikolay Aleksandrov , Petr Machata , Russell King , Vivien Didelot , netdev@vger.kernel.org, Cooper Lees , Roopa Prabhu , kuba@kernel.org, Matt Johnston , davem@davemloft.net, linux-kernel@vger.kernel.org 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.