[PATCH net-next v2 0/2] net: sfp: quirk support for XGS-PON ONT sticks with unclean EEPROMs

From: Martino Dell'Ambrogio

Date: Thu Aug 06 2026 - 03:53:37 EST


Some clone XGS-PON ONT sticks ship EEPROMs where the vendor PN field is
filled with non-printable garbage past the legitimate string instead of
the SFF-8472 mandated space padding. sfp_strlen() then can't trim the
field, the exact-length check in sfp_match() rejects the quirk entry
before the string comparison runs, and the quirk silently never applies
— so the kernel honors the module's spurious TX_FAULT and eventually
disables it.

Patch 1 adds an opt-in prefix-matching flag to the quirk table so such
modules can still be matched; existing exact-match entries behave
exactly as before. Patch 2 adds the two entries that need it: the
"OEM" XGSPONST2001 and the Fiberstore XGS-SFP-ONT-MACI, both wired to
the existing potron fixup.

Both quirks are in production use on a Bananapi BPI-R4 (MT7988A)
router on an XGS-PON uplink, backported onto 6.12.

v2, reposted as requested after the July patch-queue flush [1]:
- collected Maxime's Reviewed-by tags
- wrapped the SFP_QUIRK_F_PREFIX macro body to fit in 80 columns
(checkpatch warning flagged by NIPA on v1)
No functional change since v1 [2].

[1] https://lore.kernel.org/netdev/20260720173156.41189431@xxxxxxxxxx/
[2] https://lore.kernel.org/netdev/20260705185440.136496-1-tillo@xxxxxxxx/

Martino Dell'Ambrogio (2):
net: sfp: allow prefix matching in quirk lookup
net: sfp: add quirks for OEM XGSPONST2001 and FS XGS-SFP-ONT-MACI

drivers/net/phy/sfp.c | 38 +++++++++++++++++++++++++++++++++-----
drivers/net/phy/sfp.h | 1 +
2 files changed, 34 insertions(+), 5 deletions(-)

base-commit: b0057c68df711bf6a62033c072ac61c4f9d3cbc1
--
2.47.3