net: sfp: return the number of written bytes for smbus single byte access
authorMaxime Chevallier <maxime.chevallier@bootlin.com>
Mon, 5 Jan 2026 15:18:39 +0000 (16:18 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 7 Jan 2026 01:13:34 +0000 (17:13 -0800)
We expect the SFP write accessors to return the number of written bytes.
We fail to do so for single-byte smbus accesses, which may cause errors
when setting a module's high-power state and for some cotsworks modules.

Let's return the amount of written bytes, as expected.

Fixes: 7662abf4db94 ("net: phy: sfp: Add support for SMBus module access")
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20260105151840.144552-1-maxime.chevallier@bootlin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/sfp.c

index 6166e91..84bef50 100644 (file)
@@ -765,7 +765,7 @@ static int sfp_smbus_byte_write(struct sfp *sfp, bool a2, u8 dev_addr,
                dev_addr++;
        }
 
-       return 0;
+       return data - (u8 *)buf;
 }
 
 static int sfp_i2c_configure(struct sfp *sfp, struct i2c_adapter *i2c)