From 8ce1a59bb365fee4a9bc42a798ebc7bdf2d7b16f Mon Sep 17 00:00:00 2001 From: John Audia Date: Wed, 22 Apr 2026 15:31:19 -0400 Subject: [PATCH] kernel: bump 6.18 to 6.18.24 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.24 Removed upstreamed: backport-6.18/710-02-v7.1-net-sfp-add-quirks-for-Hisense-and-HSGQ-GPON-ONT-SFP.patch[1] All patches automatically rebased via update_kernel.sh https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.24&id=0a59c12ce50a768e84982b65cce9c33459ef72d0 Build system: x86/64 Build-tested: x86/64-glibc Run-tested: x86/64-glibc Signed-off-by: John Audia Link: https://github.com/openwrt/openwrt/pull/22890 Signed-off-by: Hauke Mehrtens --- ...-sfp-add-quirk-for-ZOERAX-SFP-2.5G-T.patch | 2 +- ...ks-for-Hisense-and-HSGQ-GPON-ONT-SFP.patch | 56 ------------------- target/linux/generic/kernel-6.18 | 4 +- ...d-knob-for-filtering-rx-tx-BPDU-pack.patch | 2 +- ...k-for-QINIYEK-BJ-SFP-10G-T-copper-SF.patch | 2 +- ...net-sfp-add-quirk-for-TP-LINK-SM410U.patch | 2 +- ...14-net-phy-sfp-add-support-for-SMBus.patch | 4 +- ...y-I2C-adapter-quirks-to-limit-blocks.patch | 2 +- .../742-net-sfp-extend-SMBus-support.patch | 4 +- 9 files changed, 11 insertions(+), 67 deletions(-) delete mode 100644 target/linux/generic/backport-6.18/710-02-v7.1-net-sfp-add-quirks-for-Hisense-and-HSGQ-GPON-ONT-SFP.patch diff --git a/target/linux/generic/backport-6.18/710-01-v7.1-net-sfp-add-quirk-for-ZOERAX-SFP-2.5G-T.patch b/target/linux/generic/backport-6.18/710-01-v7.1-net-sfp-add-quirk-for-ZOERAX-SFP-2.5G-T.patch index e53afa8980..749024bb7b 100644 --- a/target/linux/generic/backport-6.18/710-01-v7.1-net-sfp-add-quirk-for-ZOERAX-SFP-2.5G-T.patch +++ b/target/linux/generic/backport-6.18/710-01-v7.1-net-sfp-add-quirk-for-ZOERAX-SFP-2.5G-T.patch @@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -567,6 +567,8 @@ static const struct sfp_quirk sfp_quirks +@@ -588,6 +588,8 @@ static const struct sfp_quirk sfp_quirks SFP_QUIRK_F("Turris", "RTSFP-2.5G", sfp_fixup_rollball), SFP_QUIRK_F("Turris", "RTSFP-10", sfp_fixup_rollball), SFP_QUIRK_F("Turris", "RTSFP-10G", sfp_fixup_rollball), diff --git a/target/linux/generic/backport-6.18/710-02-v7.1-net-sfp-add-quirks-for-Hisense-and-HSGQ-GPON-ONT-SFP.patch b/target/linux/generic/backport-6.18/710-02-v7.1-net-sfp-add-quirks-for-Hisense-and-HSGQ-GPON-ONT-SFP.patch deleted file mode 100644 index ec9addb0d1..0000000000 --- a/target/linux/generic/backport-6.18/710-02-v7.1-net-sfp-add-quirks-for-Hisense-and-HSGQ-GPON-ONT-SFP.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 95aca8602ef70ffd3d971675751c81826e124f90 Mon Sep 17 00:00:00 2001 -From: John Pavlick -Date: Mon, 6 Apr 2026 13:23:33 +0000 -Subject: [PATCH] net: sfp: add quirks for Hisense and HSGQ GPON ONT SFP - modules - -Several GPON ONT SFP sticks based on Realtek RTL960x report -1000BASE-LX at 1300MBd in their EEPROM but can operate at 2500base-X. -On hosts capable of 2500base-X (e.g. Banana Pi R3 / MT7986), the -kernel negotiates only 1G because it trusts the incorrect EEPROM data. - -Add quirks for: -- Hisense-Leox LXT-010S-H -- Hisense ZNID-GPON-2311NA -- HSGQ HSGQ-XPON-Stick - -Each quirk advertises 2500base-X and ignores TX_FAULT during the -module's ~40s Linux boot time. - -Tested on Banana Pi R3 (MT7986) with OpenWrt 25.12.1, confirmed -2.5Gbps link and full throughput with flow offloading. - -Reviewed-by: Russell King (Oracle) -Suggested-by: Marcin Nita -Signed-off-by: John Pavlick -Link: https://patch.msgid.link/20260406132321.72563-1-jspavlick@posteo.net -Signed-off-by: Jakub Kicinski ---- - drivers/net/phy/sfp.c | 16 ++++++++++++++++ - 1 file changed, 16 insertions(+) - ---- a/drivers/net/phy/sfp.c -+++ b/drivers/net/phy/sfp.c -@@ -538,6 +538,22 @@ static const struct sfp_quirk sfp_quirks - SFP_QUIRK("HUAWEI", "MA5671A", sfp_quirk_2500basex, - sfp_fixup_ignore_tx_fault_and_los), - -+ // Hisense LXT-010S-H is a GPON ONT SFP (sold as LEOX LXT-010S-H) that -+ // can operate at 2500base-X, but reports 1000BASE-LX / 1300MBd in its -+ // EEPROM -+ SFP_QUIRK("Hisense-Leox", "LXT-010S-H", sfp_quirk_2500basex, -+ sfp_fixup_ignore_tx_fault), -+ -+ // Hisense ZNID-GPON-2311NA can operate at 2500base-X, but reports -+ // 1000BASE-LX / 1300MBd in its EEPROM -+ SFP_QUIRK("Hisense", "ZNID-GPON-2311NA", sfp_quirk_2500basex, -+ sfp_fixup_ignore_tx_fault), -+ -+ // HSGQ HSGQ-XPON-Stick can operate at 2500base-X, but reports -+ // 1000BASE-LX / 1300MBd in its EEPROM -+ SFP_QUIRK("HSGQ", "HSGQ-XPON-Stick", sfp_quirk_2500basex, -+ sfp_fixup_ignore_tx_fault), -+ - // Lantech 8330-262D-E and 8330-265D can operate at 2500base-X, but - // incorrectly report 2500MBd NRZ in their EEPROM. - // Some 8330-265D modules have inverted LOS, while all of them report diff --git a/target/linux/generic/kernel-6.18 b/target/linux/generic/kernel-6.18 index 5ed960d5d0..5eb275ad23 100644 --- a/target/linux/generic/kernel-6.18 +++ b/target/linux/generic/kernel-6.18 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.18 = .23 -LINUX_KERNEL_HASH-6.18.23 = 2a2d8e76bfcd135ab861bb9795211574eeff6d4ede9cc920f7c137587e835134 +LINUX_VERSION-6.18 = .24 +LINUX_KERNEL_HASH-6.18.24 = c207c557ce58103b4dda30e26da5203f3d8467c6dadc53d709f6d83ae1d1255f diff --git a/target/linux/generic/pending-6.18/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch b/target/linux/generic/pending-6.18/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch index d4e5c4bce8..f80c127720 100644 --- a/target/linux/generic/pending-6.18/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch +++ b/target/linux/generic/pending-6.18/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch @@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau struct rtnl_link { rtnl_doit_func doit; -@@ -5317,7 +5317,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu +@@ -5331,7 +5331,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu brport_nla_put_flag(skb, flags, mask, IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) || brport_nla_put_flag(skb, flags, mask, diff --git a/target/linux/generic/pending-6.18/750-net-sfp-add-quirk-for-QINIYEK-BJ-SFP-10G-T-copper-SF.patch b/target/linux/generic/pending-6.18/750-net-sfp-add-quirk-for-QINIYEK-BJ-SFP-10G-T-copper-SF.patch index 724ff480b6..cd31a4c7b0 100644 --- a/target/linux/generic/pending-6.18/750-net-sfp-add-quirk-for-QINIYEK-BJ-SFP-10G-T-copper-SF.patch +++ b/target/linux/generic/pending-6.18/750-net-sfp-add-quirk-for-QINIYEK-BJ-SFP-10G-T-copper-SF.patch @@ -16,7 +16,7 @@ Signed-off-by: Daniel Golle --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -580,6 +580,7 @@ static const struct sfp_quirk sfp_quirks +@@ -601,6 +601,7 @@ static const struct sfp_quirk sfp_quirks SFP_QUIRK_S("OEM", "SFP-2.5G-BX10-U", sfp_quirk_2500basex), SFP_QUIRK_F("OEM", "RTSFP-10", sfp_fixup_rollball_cc), SFP_QUIRK_F("OEM", "RTSFP-10G", sfp_fixup_rollball_cc), diff --git a/target/linux/generic/pending-6.18/751-net-sfp-add-quirk-for-TP-LINK-SM410U.patch b/target/linux/generic/pending-6.18/751-net-sfp-add-quirk-for-TP-LINK-SM410U.patch index dda6c7f4f2..f2c14382d9 100644 --- a/target/linux/generic/pending-6.18/751-net-sfp-add-quirk-for-TP-LINK-SM410U.patch +++ b/target/linux/generic/pending-6.18/751-net-sfp-add-quirk-for-TP-LINK-SM410U.patch @@ -14,7 +14,7 @@ Signed-off-by: Daniel Golle --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -586,6 +586,7 @@ static const struct sfp_quirk sfp_quirks +@@ -607,6 +607,7 @@ static const struct sfp_quirk sfp_quirks SFP_QUIRK_F("Turris", "RTSFP-10G", sfp_fixup_rollball), SFP_QUIRK_S("ZOERAX", "SFP-2.5G-T", sfp_quirk_oem_2_5g), diff --git a/target/linux/realtek/patches-6.18/714-net-phy-sfp-add-support-for-SMBus.patch b/target/linux/realtek/patches-6.18/714-net-phy-sfp-add-support-for-SMBus.patch index 23e1760651..20309d5ad8 100644 --- a/target/linux/realtek/patches-6.18/714-net-phy-sfp-add-support-for-SMBus.patch +++ b/target/linux/realtek/patches-6.18/714-net-phy-sfp-add-support-for-SMBus.patch @@ -10,7 +10,7 @@ Signed-off-by: Antoine Tenart --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -845,6 +845,29 @@ static int sfp_i2c_mdiobus_create(struct +@@ -866,6 +866,29 @@ static int sfp_i2c_mdiobus_create(struct return 0; } @@ -40,7 +40,7 @@ Signed-off-by: Antoine Tenart static void sfp_i2c_mdiobus_destroy(struct sfp *sfp) { mdiobus_unregister(sfp->i2c_mii); -@@ -2019,9 +2042,15 @@ static void sfp_sm_fault(struct sfp *sfp +@@ -2040,9 +2063,15 @@ static void sfp_sm_fault(struct sfp *sfp static int sfp_sm_add_mdio_bus(struct sfp *sfp) { diff --git a/target/linux/realtek/patches-6.18/741-net-sfp-apply-I2C-adapter-quirks-to-limit-blocks.patch b/target/linux/realtek/patches-6.18/741-net-sfp-apply-I2C-adapter-quirks-to-limit-blocks.patch index c6674ba06b..23b83f7b6b 100644 --- a/target/linux/realtek/patches-6.18/741-net-sfp-apply-I2C-adapter-quirks-to-limit-blocks.patch +++ b/target/linux/realtek/patches-6.18/741-net-sfp-apply-I2C-adapter-quirks-to-limit-blocks.patch @@ -25,7 +25,7 @@ Signed-off-by: Jonas Jelonek --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -804,21 +804,29 @@ static int sfp_smbus_byte_write(struct s +@@ -825,21 +825,29 @@ static int sfp_smbus_byte_write(struct s static int sfp_i2c_configure(struct sfp *sfp, struct i2c_adapter *i2c) { diff --git a/target/linux/realtek/patches-6.18/742-net-sfp-extend-SMBus-support.patch b/target/linux/realtek/patches-6.18/742-net-sfp-extend-SMBus-support.patch index 8d42b5cff1..dd40d7ba58 100644 --- a/target/linux/realtek/patches-6.18/742-net-sfp-extend-SMBus-support.patch +++ b/target/linux/realtek/patches-6.18/742-net-sfp-extend-SMBus-support.patch @@ -42,7 +42,7 @@ Signed-off-by: Jonas Jelonek #include #include "sfp.h" -@@ -753,50 +754,101 @@ static int sfp_i2c_write(struct sfp *sfp +@@ -774,50 +775,101 @@ static int sfp_i2c_write(struct sfp *sfp return ret == ARRAY_SIZE(msgs) ? len : 0; } @@ -164,7 +164,7 @@ Signed-off-by: Jonas Jelonek } return data - (u8 *)buf; -@@ -805,17 +857,32 @@ static int sfp_smbus_byte_write(struct s +@@ -826,17 +878,32 @@ static int sfp_smbus_byte_write(struct s static int sfp_i2c_configure(struct sfp *sfp, struct i2c_adapter *i2c) { size_t max_block_size;