@@ -385,6 +385,13 @@ static void sfp_fixup_rollball(struct sfp *sfp)
sfp->phy_t_retry = msecs_to_jiffies(1000);
}
+// For 2.5GBASE-T short-reach modules
+static void sfp_fixup_oem_2_5gbaset(struct sfp *sfp)
+{
+ sfp_fixup_rollball(sfp);
+ sfp->id.base.extended_cc = SFF8024_ECC_2_5GBASE_T;
+}
+
static void sfp_fixup_fs_10gt(struct sfp *sfp)
{
sfp_fixup_10gbaset_30m(sfp);
@@ -503,7 +510,7 @@ static const struct sfp_quirk sfp_quirks[] = {
SFP_QUIRK_F("Walsun", "HXSX-ATRI-1", sfp_fixup_fs_10gt),
SFP_QUIRK_F("OEM", "SFP-10G-T", sfp_fixup_rollball_cc),
- SFP_QUIRK_M("OEM", "SFP-2.5G-T", sfp_quirk_oem_2_5g),
+ SFP_QUIRK_F("OEM", "SFP-2.5G-T", sfp_fixup_oem_2_5gbaset),
SFP_QUIRK_F("OEM", "RTSFP-10", sfp_fixup_rollball_cc),
SFP_QUIRK_F("OEM", "RTSFP-10G", sfp_fixup_rollball_cc),
SFP_QUIRK_F("Turris", "RTSFP-10", sfp_fixup_rollball),
Change from quirk to fixup for the OEM SFP-2.5G-T module. Implementing this fixup, the rtl8221b phy is attached and the quirk is no longer used. The module is re-branded to different brands, the one I have that applies to this patch is branded LuLeey. Signed-off-by: Eric Woudstra <ericwouds@gmail.com> --- drivers/net/phy/sfp.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)