net: stmmac: don't rely on lynx_pcs presence to check for a PHY
authorMaxime Chevallier <maxime.chevallier@bootlin.com>
Tue, 26 Mar 2024 13:32:09 +0000 (14:32 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 29 Mar 2024 02:21:33 +0000 (19:21 -0700)
When initializing attached PHYs, there are some cases where we don't expect
any PHY to be connected. The logic uses conditions based on various local
PCS configuration, but also calls-in phylink_expects_phy() via
stmmac_init_phy(), which is enough to ensure we don't try to initialize a
PHY when using a Lynx PCS, as long as we have the phy_interface set to a
802.3z mode and are using inband negociation.

Drop the lynx check, making the stmmac generic code more pcs_lynx-agnostic.

Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
[rgantois: commit log]
Signed-off-by: Romain Gantois <romain.gantois@bootlin.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20240326-rxc_bugfix-v6-3-24a74e5c761f@bootlin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

index bcdde68a099a29d1c242ab2fcbb60703050cb1c9..9fb8750248a10e5a9717ab7ad40e3f68233110bc 100644 (file)
@@ -3960,8 +3960,7 @@ static int __stmmac_open(struct net_device *dev,
        if (priv->hw->pcs != STMMAC_PCS_TBI &&
            priv->hw->pcs != STMMAC_PCS_RTBI &&
            (!priv->hw->xpcs ||
-            xpcs_get_an_mode(priv->hw->xpcs, mode) != DW_AN_C73) &&
-           !priv->hw->lynx_pcs) {
+            xpcs_get_an_mode(priv->hw->xpcs, mode) != DW_AN_C73)) {
                ret = stmmac_init_phy(dev);
                if (ret) {
                        netdev_err(priv->dev,