net: sfp: remove incomplete 100BASE-FX and 100BASE-LX support
authorRussell King <rmk+kernel@armlinux.org.uk>
Wed, 11 Dec 2019 10:55:54 +0000 (10:55 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Dec 2019 19:53:41 +0000 (11:53 -0800)
The 100BASE-FX and 100BASE-LX support assumes a PHY is present; this
is probably an incorrect assumption. In any case, sfp_parse_support()
will fail such a module. Let's stop pretending we support these
modules.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/sfp-bus.c
drivers/net/phy/sfp.c

index 5a72093..02ab076 100644 (file)
@@ -342,9 +342,7 @@ phy_interface_t sfp_select_interface(struct sfp_bus *bus,
        if (phylink_test(link_modes, 2500baseX_Full))
                return PHY_INTERFACE_MODE_2500BASEX;
 
-       if (id->base.e1000_base_t ||
-           id->base.e100_base_lx ||
-           id->base.e100_base_fx)
+       if (id->base.e1000_base_t)
                return PHY_INTERFACE_MODE_SGMII;
 
        if (phylink_test(link_modes, 1000baseX_Full))
index 27360d1..ae6a52a 100644 (file)
@@ -1489,18 +1489,7 @@ static void sfp_sm_fault(struct sfp *sfp, unsigned int next_state, bool warn)
 
 static void sfp_sm_probe_for_phy(struct sfp *sfp)
 {
-       /* Setting the serdes link mode is guesswork: there's no
-        * field in the EEPROM which indicates what mode should
-        * be used.
-        *
-        * If it's a gigabit-only fiber module, it probably does
-        * not have a PHY, so switch to 802.3z negotiation mode.
-        * Otherwise, switch to SGMII mode (which is required to
-        * support non-gigabit speeds) and probe for a PHY.
-        */
-       if (sfp->id.base.e1000_base_t ||
-           sfp->id.base.e100_base_lx ||
-           sfp->id.base.e100_base_fx)
+       if (sfp->id.base.e1000_base_t)
                sfp_sm_probe_phy(sfp);
 }