Commit 87d12685 authored by Álvaro Fernández Rojas's avatar Álvaro Fernández Rojas Committed by Jakub Kicinski
Browse files

net: sfp: improve Huawei MA5671a fixup



With the current sfp_fixup_ignore_tx_fault() fixup we ignore the TX_FAULT
signal, but we also need to apply sfp_fixup_ignore_los() in order to be
able to communicate with the module even if the fiber isn't connected for
configuration purposes.
This is needed for all the MA5671a firmwares, excluding the FS modded
firmware.

Fixes: 2069624d ("net: sfp: Add tx-fault workaround for Huawei MA5671A SFP ONT")
Signed-off-by: default avatarÁlvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20260306125139.213637-1-noltari@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent c113d5e3
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -367,6 +367,12 @@ static void sfp_fixup_ignore_tx_fault(struct sfp *sfp)
	sfp->state_ignore_mask |= SFP_F_TX_FAULT;
}

static void sfp_fixup_ignore_tx_fault_and_los(struct sfp *sfp)
{
	sfp_fixup_ignore_tx_fault(sfp);
	sfp_fixup_ignore_los(sfp);
}

static void sfp_fixup_ignore_hw(struct sfp *sfp, unsigned int mask)
{
	sfp->state_hw_mask &= ~mask;
@@ -530,7 +536,7 @@ static const struct sfp_quirk sfp_quirks[] = {
	// Huawei MA5671A can operate at 2500base-X, but report 1.2GBd NRZ in
	// their EEPROM
	SFP_QUIRK("HUAWEI", "MA5671A", sfp_quirk_2500basex,
		  sfp_fixup_ignore_tx_fault),
		  sfp_fixup_ignore_tx_fault_and_los),

	// Lantech 8330-262D-E and 8330-265D can operate at 2500base-X, but
	// incorrectly report 2500MBd NRZ in their EEPROM.