[PATCH net-next v3] net: eth: fbnic: Fix addr validation in pcs write

From: mike . marciniszyn

Date: Thu May 07 2026 - 11:44:32 EST


From: "Mike Marciniszyn (Meta)" <mike.marciniszyn@xxxxxxxxx>

The DW IP has two distinct PCS address ranges cooresponding
to the C45 PCS registers.

The shim translates the PCS addr/regno into specific CSR writes
into one of those two zero-relative ranges.

This patch fixes a one off in the test that could allow an invalid
CSR write if an addr == 2 was called.

There are is of yet, no real impact for the bug as no PCS writes are
present.

Signed-off-by: Mike Marciniszyn (Meta) <mike.marciniszyn@xxxxxxxxx>
---
v3:
- put back into the series based on https://lore.kernel.org/all/9ec11642-8035-419c-a896-52f902020bb8@xxxxxxx/
- revised commit message will additional details
v2:
- omitted from patch series
v1: https://lore.kernel.org/all/20260428172810.175077-2-mike.marciniszyn@xxxxxxxxx/

drivers/net/ethernet/meta/fbnic/fbnic_mdio.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/meta/fbnic/fbnic_mdio.c b/drivers/net/ethernet/meta/fbnic/fbnic_mdio.c
index 709041f7fc43..d6a124889f52 100644
--- a/drivers/net/ethernet/meta/fbnic/fbnic_mdio.c
+++ b/drivers/net/ethernet/meta/fbnic/fbnic_mdio.c
@@ -125,7 +125,7 @@ fbnic_mdio_write_pcs(struct fbnic_dev *fbd, int addr, int regnum, u16 val)
addr, regnum, val);

/* Allow access to both halves of PCS for 50R2 config */
- if (addr > 2)
+ if (addr >= 2)
return;

/* Skip write for reserved registers */
--
2.43.0