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

From: "Russell King (Oracle)" <[email-masked]>
Date: Wed, 29 Mar 2023 10:01:28 +0100

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 <[email-masked]>
> 
> 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!