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

From: Russell King (Oracle)
Date: Wed Mar 29 2023 - 05:02:38 EST


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@xxxxxxxxx>
>
> 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.

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