mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
7e94a02cbe
It was reported on Turris forum [1] that HALNy HL-GSFP module does not work as it should with kernel 5.15. Russell King prepared this patch series, which fixes broken SFP module to work. Compile and run tested with Turris Omnia. [1] https://forum.turris.cz/t/hbl-turrisos-6-0-alpha2-halny-hl-gsfp-sfp-gpon-stick-problems/17547 Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
36 lines
1.1 KiB
Diff
36 lines
1.1 KiB
Diff
From 32a59a1c5dc8f6fa755bab9a5f9751fdb66bb234 Mon Sep 17 00:00:00 2001
|
|
From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
|
|
Date: Fri, 26 Aug 2022 08:48:25 +0100
|
|
Subject: [PATCH 6/6] net: sfp: change HALNy to ignore hardware pins
|
|
|
|
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
|
|
---
|
|
drivers/net/phy/sfp.c | 14 +-------------
|
|
1 file changed, 1 insertion(+), 13 deletions(-)
|
|
|
|
--- a/drivers/net/phy/sfp.c
|
|
+++ b/drivers/net/phy/sfp.c
|
|
@@ -321,21 +321,9 @@ static void sfp_fixup_ignore_tx_fault(st
|
|
sfp->tx_fault_ignore = true;
|
|
}
|
|
|
|
-static void sfp_fixup_inverted_los(struct sfp *sfp)
|
|
-{
|
|
- const __be16 los_inverted = cpu_to_be16(SFP_OPTIONS_LOS_INVERTED);
|
|
- const __be16 los_normal = cpu_to_be16(SFP_OPTIONS_LOS_NORMAL);
|
|
-
|
|
- sfp->id.ext.options &= ~los_normal;
|
|
- sfp->id.ext.options |= los_inverted;
|
|
-}
|
|
-
|
|
static void sfp_fixup_halny_gsfp(struct sfp *sfp)
|
|
{
|
|
- /* LOS is inverted */
|
|
- sfp_fixup_inverted_los(sfp);
|
|
- /* TX fault might be inverted, but we don't know for certain. */
|
|
- sfp_fixup_ignore_tx_fault(sfp);
|
|
+ sfp->state_ignore_hw_mask |= SFP_F_TX_FAULT | SFP_F_LOS;
|
|
}
|
|
|
|
static void sfp_quirk_2500basex(const struct sfp_eeprom_id *id,
|