[PATCH net v3 1/3] net: phylink: add phylink_expects_phy() method

Sit, Michael Wei Hong michael.wei.hong.sit at intel.com
Wed Mar 29 02:34:05 PDT 2023



> -----Original Message-----
> From: Russell King <linux at armlinux.org.uk>
> Sent: Wednesday, March 29, 2023 5:01 PM
> To: Jakub Kicinski <kuba at kernel.org>
> Cc: Sit, Michael Wei Hong <michael.wei.hong.sit at intel.com>;
> Giuseppe Cavallaro <peppe.cavallaro at st.com>; Alexandre Torgue
> <alexandre.torgue at foss.st.com>; Jose Abreu
> <joabreu at synopsys.com>; David S . Miller <davem at davemloft.net>;
> Eric Dumazet <edumazet at google.com>; Paolo Abeni
> <pabeni at redhat.com>; Maxime Coquelin
> <mcoquelin.stm32 at gmail.com>; Ong, Boon Leong
> <boon.leong.ong at intel.com>; netdev at vger.kernel.org; linux-
> stm32 at st-md-mailman.stormreply.com; linux-arm-
> kernel at lists.infradead.org; linux-kernel at vger.kernel.org; Looi,
> Hong Aun <hong.aun.looi at intel.com>; Voon, Weifeng
> <weifeng.voon at intel.com>; Lai, Peter Jun Ann
> <peter.jun.ann.lai at intel.com>
> Subject: Re: [PATCH net v3 1/3] net: phylink: add
> phylink_expects_phy() method
> 
> On Tue, Mar 28, 2023 at 06:57:20PM -0700, Jakub Kicinski wrote:
> > On Fri, 24 Mar 2023 16:16:54 +0800 Michael Sit Wei Hong wrote:
> > > Provide phylink_expects_phy() to allow MAC drivers to check if it
> is
> > > expecting a PHY to attach to. Since fixed-linked setups do not
> need
> > > to attach to a PHY.
> > >
> > > Provides a boolean value as to if the MAC should expect a PHY.
> > > returns true if a PHY is expected.
> > >
> > > Signed-off-by: Michael Sit Wei Hong
> <michael.wei.hong.sit at intel.com>
> >
> > Russell, looks good?
> 
> Not really, given that phylink_attach_phy() will refuse to attach a
> PHY
> when:
> 
>         if (WARN_ON(pl->cfg_link_an_mode == MLO_AN_FIXED ||
>                     (pl->cfg_link_an_mode == MLO_AN_INBAND &&
>                      phy_interface_mode_is_8023z(interface) && !pl-
> >sfp_bus)))
>                 return -EINVAL;
> 
> So, if we introduce a helper named "phylink_expects_phy" that
> returns true when cfg_link_an_mode == MLO_AN_INBAND and the
> interface mode is e.g. 1000base-X, but then someone tries to attach
> a PHY, the kernel spits out a warning, backtrace, and a return value
> of -EINVAL, things are going to look really rather stupid.
> 
Should we check for these 3 conditions as well then?
(pl->cfg_link_an_mode == MLO_AN_INBAND &&
phy_interface_mode_is_8023z(interface) && !pl->sfp_bus)
to determine if phylink expects a phy.

> --
> RMK's Patch system:
> https://www.armlinux.org.uk/developer/patches/
> FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!



More information about the linux-arm-kernel mailing list