diff options
| author | Álvaro Fernández Rojas | 2026-03-05 13:13:55 +0000 |
|---|---|---|
| committer | Álvaro Fernández Rojas | 2026-03-07 08:51:51 +0000 |
| commit | 241628ab3ccd9d3ec3e6c7a11b7b1be5c19abd77 (patch) | |
| tree | f4a3791008bafc64be09bec80a232bf5ce8ff3e3 | |
| parent | 2eff59daf32aab663a6b8bcad42669346f4421ce (diff) | |
| download | openwrt-241628ab3ccd9d3ec3e6c7a11b7b1be5c19abd77.tar.gz | |
kernel: net: sfp: improve Huawei MA5671a fixup
Add pending patch for improving Huawei MA5671a SFP fixup, which allows
communicating with the module even if the fiber isn't connected.
(cherry picked from commit eb4fd65c9291bf5851b1a094bd706d2240bb1d20)
Link: https://github.com/openwrt/openwrt/pull/22283
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
| -rw-r--r-- | target/linux/generic/pending-6.12/620-net-sfp-improve-Huawei-MA5671a-fixup.patch | 149 | ||||
| -rw-r--r-- | target/linux/realtek/patches-6.12/714-net-phy-sfp-add-support-for-SMBus.patch | 6 |
2 files changed, 152 insertions, 3 deletions
diff --git a/target/linux/generic/pending-6.12/620-net-sfp-improve-Huawei-MA5671a-fixup.patch b/target/linux/generic/pending-6.12/620-net-sfp-improve-Huawei-MA5671a-fixup.patch new file mode 100644 index 0000000000..4a5abc4b95 --- /dev/null +++ b/target/linux/generic/pending-6.12/620-net-sfp-improve-Huawei-MA5671a-fixup.patch @@ -0,0 +1,149 @@ +From patchwork Fri Mar 6 12:29:55 2026 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +X-Patchwork-Submitter: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= + <noltari@gmail.com> +X-Patchwork-Id: 14457090 +X-Patchwork-Delegate: kuba@kernel.org +Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com + [209.85.221.48]) + (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) + (No client certificate requested) + by smtp.subspace.kernel.org (Postfix) with ESMTPS id AF3F4386459 + for <netdev@vger.kernel.org>; Fri, 6 Mar 2026 12:52:18 +0000 (UTC) +Authentication-Results: smtp.subspace.kernel.org; + arc=none smtp.client-ip=209.85.221.48 +ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; + t=1772801540; cv=none; + b=LVeywxv8ajenPZ8Kr1arieKosbrf60O9l+ouIPKPFNt5btxWDZ59pIU9BfZjv5n9ifEOyUA/UD0phxnG77+oB/k6UCd7DdGQQASZB3NHq5cvmErbgXm0XG3C8BBxVXU5pF7atPS23kBqM9ptxsv3IaeH/fDFcj6k6SH61rGEpuQ= +ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; + s=arc-20240116; t=1772801540; c=relaxed/simple; + bh=HAy43ssDo0xlUcBDIU7vQZtNnpxG03JPCL6Ldi51ASI=; + h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; + b=OBk8kI0I91psFRaIxb6nCnAzQlsc7jrXkOPW8lL7cYCosY08yfQDwAlWBFfdFs/VDuVJjD5VEdeQeMt2K4kWGgjLNXhTrRqgs6JNe7PxALDJKvt+kcJ833TRz3hKl2eb2Ft6WnKPf/6hp5Q3qm8+/Q703ixD4sF/0aDNw1BrDY4= +ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; + dmarc=pass (p=none dis=none) header.from=gmail.com; + spf=pass smtp.mailfrom=gmail.com; + dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com + header.b=RCEse1HL; arc=none smtp.client-ip=209.85.221.48 +Authentication-Results: smtp.subspace.kernel.org; + dmarc=pass (p=none dis=none) header.from=gmail.com +Authentication-Results: smtp.subspace.kernel.org; + spf=pass smtp.mailfrom=gmail.com +Authentication-Results: smtp.subspace.kernel.org; + dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com + header.b="RCEse1HL" +Received: by mail-wr1-f48.google.com with SMTP id + ffacd0b85a97d-439b7c2788dso4008389f8f.1 + for <netdev@vger.kernel.org>; Fri, 06 Mar 2026 04:52:18 -0800 (PST) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=gmail.com; s=20230601; t=1772801537; x=1773406337; + darn=vger.kernel.org; + h=content-transfer-encoding:mime-version:message-id:date:subject:cc + :to:from:from:to:cc:subject:date:message-id:reply-to; + bh=y8B8kg8ACcCsMXy3SgsyRYngVEpIsqkcoCsLOS/nNqQ=; + b=RCEse1HLoUtQApOdbPXFvYItGrEKWhMZ5FH1L4npAxteGeWOhAEAekijg3Ur83ovNu + D7j0Aio5nwazNQz3y4rO88a+svlEbLx5fyxypjkMFUV4PDnOpv7HYjT9Aw1NVdIwO6l+ + sTgZ1jssfWdVnLQwQe6naotyBRoBV2AugdTmASE0Okxrsi3juIOafyTCxnp4K0weRpaH + XodiSWNrkHzZSWM6/wl3D42yExGGPiuDybF+9otR/5TaBWNzrcLkSb73hvP6va35kQWK + mnp6OV+L7iHTbxYpTfTm4axD+IZ/Q/dtFxxA6XolA28oMQbRPK0SIHepheSZx4bgl64w + FM4w== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20230601; t=1772801537; x=1773406337; + h=content-transfer-encoding:mime-version:message-id:date:subject:cc + :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date + :message-id:reply-to; + bh=y8B8kg8ACcCsMXy3SgsyRYngVEpIsqkcoCsLOS/nNqQ=; + b=KomubXrbvHQI4WbFxBztyfrvNNRRWm7V46yQSwx0bP8PXKIJP38kAYzK+ZKWhmcd7e + LpS7422VcYyLywLRxlevD2YaXsF0CK6e00YpTtixakHxYs/4KxGaU21vfwYV8mRhfu7g + HVmxKvNQ6DTdC7wAIGT6TrcZCK4VCvgCx3z9yC62hQc8C6w+9mDnnGPvXNR74ofvvXdC + eVZjm56layRoEr4PTpR2F33OVSt8+HRikH7eBzIKtQ5n/lEKtmJKDHRaodAaCyFGWMWa + qDVoOR8VI4NIJABfsOT6OqisXLPLf+jkKpGkCY2ioRPRKK9GzW4PgIuNcKvPQilQQkgD + Xlnw== +X-Forwarded-Encrypted: i=1; + AJvYcCVcziiSg1n0cDakmiQXH3869FECP24dcIqrZzs8zKakP+vHT958hnq9Bp0alDnLeVtXgo0B8T4=@vger.kernel.org +X-Gm-Message-State: AOJu0Yx2OF1e3PiuR4Zqpe9qXA6kz6T2CCtro6kv8eL2j4Zh2HCjWywo + /rZTavazOZRoq7zTvc4fGZ/yupjkTT9xRPZCKRkM9pc0UuK/KDSP4pan +X-Gm-Gg: ATEYQzx75s3OlYg8XKMgu042++2+ZPa/CZDw09DYtnwEHHBsuylQF0+eXzcFM166JtP + EMuM6Nq/sGQx2WNTPNEyu1BRGci/SV005CzkExhd1KK52D/nC1c76MBxvAtioaI/+5tgNoyCg8v + ZFRyiqDReKfJ6JHa3YRI213dTzMluN1sZTYNSqlWI1MwW66gaDCf0myU81ehAfiAff34wmxnm8C + PUF0YrLYtgZl1I/ZcYM1npoL3PBOnrhaulSqhbn7S5NaZMkHLrNQm6ns1lof+7Ciju05dQpEcBe + pumVg15Dy+PcSXQSSQt4CULH7bbuJvZ0PHJ7dS+74i/OqFSgxD4E7LCqM5ufHYdbESx0/ERaR/z + CAyT3oTz6S1oMQCUTPevHjHjTbDOWhu74SqyTZETzwGnjZnfrPMa56ebQVRfYgOYW0bbx6j3O2M + v3CSEBiXpdFTdaLuRcqIb56JeDryaHx87SOThqnYP6gMiu7EljKYIhr572Rpgz+UIRkrYyNjL9c + BLmrcmhsXX4hU4X5KocoApkO04w +X-Received: by 2002:a05:600c:8b8b:b0:483:103c:b1ee with SMTP id + 5b1f17b1804b1-48526922599mr34173745e9.8.1772801536778; + Fri, 06 Mar 2026 04:52:16 -0800 (PST) +Received: from skynet.lan + (2a02-9142-4581-3c00-0000-0000-0000-0008.red-2a02-914.customerbaf.ipv6.rima-tde.net. + [2a02:9142:4581:3c00::8]) + by smtp.gmail.com with ESMTPSA id + 5b1f17b1804b1-48527681a3esm76085715e9.4.2026.03.06.04.52.14 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Fri, 06 Mar 2026 04:52:15 -0800 (PST) +From: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= <noltari@gmail.com> +To: linux@armlinux.org.uk, + andrew@lunn.ch, + hkallweit1@gmail.com, + davem@davemloft.net, + edumazet@google.com, + kuba@kernel.org, + pabeni@redhat.com, + mnhagan88@gmail.com, + netdev@vger.kernel.org, + linux-kernel@vger.kernel.org +Cc: =?utf-8?q?=C3=81lvaro_Fern=C3=A1ndez_Rojas?= <noltari@gmail.com> +Subject: [PATCH net v3] net: sfp: improve Huawei MA5671a fixup +Date: Fri, 6 Mar 2026 13:29:55 +0100 +Message-ID: <20260306125139.213637-1-noltari@gmail.com> +X-Mailer: git-send-email 2.47.3 +Precedence: bulk +X-Mailing-List: netdev@vger.kernel.org +List-Id: <netdev.vger.kernel.org> +List-Subscribe: <mailto:netdev+subscribe@vger.kernel.org> +List-Unsubscribe: <mailto:netdev+unsubscribe@vger.kernel.org> +MIME-Version: 1.0 +X-Patchwork-Delegate: kuba@kernel.org + +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: 2069624dac19 ("net: sfp: Add tx-fault workaround for Huawei MA5671A SFP ONT") +Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> +--- + v3: avoid using a vendor name in the function + v2: rebase on top of net/main instead of linux/master + + drivers/net/phy/sfp.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +--- a/drivers/net/phy/sfp.c ++++ b/drivers/net/phy/sfp.c +@@ -360,6 +360,12 @@ static void sfp_fixup_ignore_tx_fault(st + 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; +@@ -523,7 +529,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 can operate at 2500base-X, but incorrectly report + // 2500MBd NRZ in their EEPROM diff --git a/target/linux/realtek/patches-6.12/714-net-phy-sfp-add-support-for-SMBus.patch b/target/linux/realtek/patches-6.12/714-net-phy-sfp-add-support-for-SMBus.patch index 41d8f67995..a1fabacfe6 100644 --- a/target/linux/realtek/patches-6.12/714-net-phy-sfp-add-support-for-SMBus.patch +++ b/target/linux/realtek/patches-6.12/714-net-phy-sfp-add-support-for-SMBus.patch @@ -10,7 +10,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -718,10 +718,64 @@ static int sfp_i2c_write(struct sfp *sfp +@@ -724,10 +724,64 @@ static int sfp_i2c_write(struct sfp *sfp return ret == ARRAY_SIZE(msgs) ? len : 0; } @@ -77,7 +77,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> sfp->i2c = i2c; sfp->read = sfp_i2c_read; -@@ -753,6 +807,29 @@ static int sfp_i2c_mdiobus_create(struct +@@ -759,6 +813,29 @@ static int sfp_i2c_mdiobus_create(struct return 0; } @@ -107,7 +107,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> static void sfp_i2c_mdiobus_destroy(struct sfp *sfp) { mdiobus_unregister(sfp->i2c_mii); -@@ -1927,9 +2004,15 @@ static void sfp_sm_fault(struct sfp *sfp +@@ -1933,9 +2010,15 @@ static void sfp_sm_fault(struct sfp *sfp static int sfp_sm_add_mdio_bus(struct sfp *sfp) { |