Skip to content
/ linux Public

Commit bbdf6d3

Browse files
Noltarigregkh
authored andcommitted
net: sfp: improve Huawei MA5671a fixup
[ Upstream commit 87d1268 ] 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: 2069624 ("net: sfp: Add tx-fault workaround for Huawei MA5671A SFP ONT") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Link: https://patch.msgid.link/20260306125139.213637-1-noltari@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 7dcf2de commit bbdf6d3

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

drivers/net/phy/sfp.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,12 @@ static void sfp_fixup_ignore_tx_fault(struct sfp *sfp)
360360
sfp->state_ignore_mask |= SFP_F_TX_FAULT;
361361
}
362362

363+
static void sfp_fixup_ignore_tx_fault_and_los(struct sfp *sfp)
364+
{
365+
sfp_fixup_ignore_tx_fault(sfp);
366+
sfp_fixup_ignore_los(sfp);
367+
}
368+
363369
static void sfp_fixup_ignore_hw(struct sfp *sfp, unsigned int mask)
364370
{
365371
sfp->state_hw_mask &= ~mask;
@@ -523,7 +529,7 @@ static const struct sfp_quirk sfp_quirks[] = {
523529
// Huawei MA5671A can operate at 2500base-X, but report 1.2GBd NRZ in
524530
// their EEPROM
525531
SFP_QUIRK("HUAWEI", "MA5671A", sfp_quirk_2500basex,
526-
sfp_fixup_ignore_tx_fault),
532+
sfp_fixup_ignore_tx_fault_and_los),
527533

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

0 commit comments

Comments
 (0)