net: phylink: move manual flow control setting
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Fri, 8 Nov 2024 16:01:44 +0000 (16:01 +0000)
committerJakub Kicinski <kuba@kernel.org>
Tue, 12 Nov 2024 03:05:13 +0000 (19:05 -0800)
Move the handling of manual flow control configuration to a common
location during resolve. We currently evaluate this for all but
fixed links.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1t9RQe-002Feh-T1@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/phylink.c

index 6ca7ea9..65e81ef 100644 (file)
@@ -1467,7 +1467,6 @@ static void phylink_resolve(struct work_struct *w)
                switch (pl->cur_link_an_mode) {
                case MLO_AN_PHY:
                        link_state = pl->phy_state;
-                       phylink_apply_manual_flow(pl, &link_state);
                        mac_config = link_state.link;
                        break;
 
@@ -1528,11 +1527,13 @@ static void phylink_resolve(struct work_struct *w)
                                link_state.pause = pl->phy_state.pause;
                                mac_config = true;
                        }
-                       phylink_apply_manual_flow(pl, &link_state);
                        break;
                }
        }
 
+       if (pl->cur_link_an_mode != MLO_AN_FIXED)
+               phylink_apply_manual_flow(pl, &link_state);
+
        if (mac_config) {
                if (link_state.interface != pl->link_config.interface) {
                        /* The interface has changed, force the link down and