[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200229170641.GE6305@lunn.ch>
Date: Sat, 29 Feb 2020 18:06:41 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Russell King - ARM Linux admin <linux@...linux.org.uk>
Cc: Florian Fainelli <f.fainelli@...il.com>,
Vivien Didelot <vivien.didelot@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Ioana Ciornei <ioana.ciornei@....com>,
Vladimir Oltean <olteanv@...il.com>, netdev@...r.kernel.org
Subject: Re: [PATCH net] net: dsa: fix phylink_start()/phylink_stop() calls
Hi Russell
> > The current code in dsa_slave_open() first enables the port, then
> > calls phylink_start(). So maybe we should keep the ordering the same?
>
> However, dsa_port_setup() does it in the reverse order, so it was a
> bit of guess work which is right. So, if the port needs to be enabled
> first, then the dsa_port_setup() path for DSA and CPU ports is wrong.
>
> It's not clear what dsa_port_enable() actually does, and should a port
> be enabled before its interface mode and link parameters have been
> set?
Agreed, it is not clearly defined. port_enable()/port_disable() are
mostly used for power saving. If a port is not used, it can be turned
off.
Having phylink for DSA and CPU ports is a new thing. Slaves have
always had phylib/phylink. So i think it would be safest to follow the
order used for slave interfaces, enable the port first, then start
phylink.
We should probably also change the order for DSA and CPU ports so it
is consistent.
Andrew
Powered by blists - more mailing lists