]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Revert "net: sfp: enhance quirk for Fibrestore 2.5G copper SFP module"
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 2 Jul 2024 08:41:01 +0000 (10:41 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Jul 2024 07:38:17 +0000 (09:38 +0200)
This reverts commit b3dcad0bfd62fcc9367d8092a71918db53804f53 which is
commit cd4a32e60061789676f7f018a94fcc9ec56732a0 upstream.

Turned out that this should not have been applied to the stable tree.

Link: https://lore.kernel.org/r/20240628172211.17ccefe9@dellmb
Reported-by: Marek BehĂșn <kabel@kernel.org>
Cc: Jiri Pirko <jiri@nvidia.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/phy/sfp.c

index 52b71c7e783519ccf0d9e6c64bddc8a2198bb0bd..e4b759690c4411ae892e98dfc192927723186250 100644 (file)
@@ -385,23 +385,18 @@ static void sfp_fixup_rollball(struct sfp *sfp)
        sfp->phy_t_retry = msecs_to_jiffies(1000);
 }
 
-static void sfp_fixup_fs_2_5gt(struct sfp *sfp)
+static void sfp_fixup_fs_10gt(struct sfp *sfp)
 {
+       sfp_fixup_10gbaset_30m(sfp);
        sfp_fixup_rollball(sfp);
 
-       /* The RollBall fixup is not enough for FS modules, the PHY chip inside
+       /* The RollBall fixup is not enough for FS modules, the AQR chip inside
         * them does not return 0xffff for PHY ID registers in all MMDs for the
         * while initializing. They need a 4 second wait before accessing PHY.
         */
        sfp->module_t_wait = msecs_to_jiffies(4000);
 }
 
-static void sfp_fixup_fs_10gt(struct sfp *sfp)
-{
-       sfp_fixup_10gbaset_30m(sfp);
-       sfp_fixup_fs_2_5gt(sfp);
-}
-
 static void sfp_fixup_halny_gsfp(struct sfp *sfp)
 {
        /* Ignore the TX_FAULT and LOS signals on this module.
@@ -477,10 +472,6 @@ static const struct sfp_quirk sfp_quirks[] = {
        // Rollball protocol to talk to the PHY.
        SFP_QUIRK_F("FS", "SFP-10G-T", sfp_fixup_fs_10gt),
 
-       // Fiberstore SFP-2.5G-T uses Rollball protocol to talk to the PHY and
-       // needs 4 sec wait before probing the PHY.
-       SFP_QUIRK_F("FS", "SFP-2.5G-T", sfp_fixup_fs_2_5gt),
-
        // Fiberstore GPON-ONU-34-20BI can operate at 2500base-X, but report 1.2GBd
        // NRZ in their EEPROM
        SFP_QUIRK("FS", "GPON-ONU-34-20BI", sfp_quirk_2500basex,
@@ -497,6 +488,9 @@ static const struct sfp_quirk sfp_quirks[] = {
        SFP_QUIRK("HUAWEI", "MA5671A", sfp_quirk_2500basex,
                  sfp_fixup_ignore_tx_fault),
 
+       // FS 2.5G Base-T
+       SFP_QUIRK_M("FS", "SFP-2.5G-T", sfp_quirk_oem_2_5g),
+
        // Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report
        // 2500MBd NRZ in their EEPROM
        SFP_QUIRK_M("Lantech", "8330-262D-E", sfp_quirk_2500basex),