From nobody Thu Apr 9 17:19:55 2026 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (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 ACD992F745D for ; Fri, 6 Mar 2026 12:52:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772801540; cv=none; b=QOptPRLK1VDUEmSldWeZ6rutrXfKoJCOyQsVfJF4bXpmiZo4UT+DQwk72mYJPWaaqX70BP/BvUccozEWQiEtsiVfzxRyZ32spHjUT2W5JvkPFbNogioIN38NoP0CxQkwMmGcyJ3tHk1MoJ6VvaUYLUUxQ7XALbbeDhukXbJ1rZE= 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.43 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-f43.google.com with SMTP id ffacd0b85a97d-439bcec8613so4033682f8f.3 for ; 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=S2LJGvCZ07wu5IgxSStVIZ9NYm/1QQ4E6fkZ6xUhAcmL4zaQ7GAYzmNPmGOcPo7LXc V7JhJQXQ0+q1xfnmDIhazEEwBPOGM9QaoSxdyn8IMDGcAF99fDaALKIas7UqZtCzwe2x i9yP/ufIHedJoefyjUOR8aTak6AgF5+40NfOhzste3+CGR5mKtRLMug9IV81RquQJ4Kg 7/uE4jZ4tVD+Wetexr9FpiWhHK7/g9olL0EXgLGmm1SIkGZWub0dnKBcNiVYFejT166Q Mb9PzTeJ6YV3u6mo1wYVLyqTzAjkYR7Q0CeA5tfas8XhSCTZ0Pt6vkMg40p6rSCLPFOy DfmQ== X-Forwarded-Encrypted: i=1; AJvYcCW97lBPP3A5sY9Gsu9pJhCo89ByroCmRdwThtGNAc5Ln+gr9VG7KESM8PUY7Lr2DrwiUUQuUVBdKJgwQek=@vger.kernel.org X-Gm-Message-State: AOJu0YwRBn1QmBoyycqGIYxhVrDviPZ7co8eQqeW5dmf3Hzv0y1+VeEL jdC6Uu5QMKbMqZR0PZv/C8R07njS7pri/sGLqXkKtS/d1oz1+VEjqTYH X-Gm-Gg: ATEYQzz0p8hpNd8QuYWgPwapgYfnC6Nty3t+F0UJL3+3UzuoVTSBlzcLnYfvXc0z1j2 JYowQNVlEu2c+ydyvHFVT6HoMKE7u/+jI/GUehix4u+/y4SfU3xcwScZAHcR5YYqtJds/H73w2I iaMGl6njxPxwAARi/sesukrjCOC+qDGHqyhRhtj9FANmLo0KgPST82FIzCG2ZjEhrYVxZjt8XUG q8iTsOen9B95KiXEKdH1Q/h+tuhrG83dV18L2sDAZrSGCtsEDAERvTk8z64FjSoUE2ppHwalLAM v9iMYbvcJr7s4YylfiBFcM7iX1bcoXU1KTSZPuzNw3xbjBpXQr4zprtQEGr7bT58Qd6gXVgRi9F ql7QnMhkRW5eztcyPv7p5eriWxPcbEmuWvgF75bHgoIg8SDXO+hRXz2tqON2wBUZoZkbkOY2dmU qfR+4VwL+z6qpUcb2cdzglGKIYTFX/Wqcc0rk9XmwT0JPp2Ao8dDm7BEzM0YwQ6OBduioH79weV zxua7xbivJVL3qX73ehtmoOqm6r 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=20Fern=C3=A1ndez=20Rojas?= 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=20Fern=C3=A1ndez=20Rojas?= 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: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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: =C3=81lvaro Fern=C3=A1ndez Rojas Reviewed-by: Andrew Lunn --- 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(-) diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c index f4bf53da3d4f..5db841377199 100644 --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c @@ -367,6 +367,12 @@ static void sfp_fixup_ignore_tx_fault(struct sfp *sfp) sfp->state_ignore_mask |=3D SFP_F_TX_FAULT; } =20 +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 &=3D ~mask; @@ -530,7 +536,7 @@ static const struct sfp_quirk sfp_quirks[] =3D { // 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), =20 // Lantech 8330-262D-E and 8330-265D can operate at 2500base-X, but // incorrectly report 2500MBd NRZ in their EEPROM. --=20 2.47.3