]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: phylink: rearrange phylink_parse_mode()
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Wed, 29 May 2024 13:29:19 +0000 (14:29 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 31 May 2024 01:32:15 +0000 (18:32 -0700)
Of the two users of phylink_config->ovr_an_inband, both manually check
for a fixed link before setting this flag (or clearing it if they find
a fixed link.) This is unnecessary complication.

Rearrange phylink_parse_mode() a little so we can change how
phylink_config->ovr_an_inband works. This will allow the flag to be
tested before checking for the fixed link properties in the next patch.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Halaney <ahalaney@redhat.com>
Link: https://lore.kernel.org/r/E1sCJMl-00Ecqp-K0@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/phylink.c

index 994471fad833f99ae0727b0cde3a5dbf0f2f0f57..5abd127135986f04244d1b9893955b61f01f3379 100644 (file)
@@ -899,12 +899,15 @@ static int phylink_parse_mode(struct phylink *pl,
                        return -EINVAL;
                }
 
+               pl->cfg_link_an_mode = MLO_AN_INBAND;
+       }
+
+       if (pl->cfg_link_an_mode == MLO_AN_INBAND) {
                linkmode_zero(pl->supported);
                phylink_set(pl->supported, MII);
                phylink_set(pl->supported, Autoneg);
                phylink_set(pl->supported, Asym_Pause);
                phylink_set(pl->supported, Pause);
-               pl->cfg_link_an_mode = MLO_AN_INBAND;
 
                switch (pl->link_config.interface) {
                case PHY_INTERFACE_MODE_SGMII: