[PATCH] net: phy: micrel: Advance register data pointer in write loop

Abhishek Ojha posted 1 patch 1 week, 1 day ago
drivers/net/phy/micrel.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] net: phy: micrel: Advance register data pointer in write loop
Posted by Abhishek Ojha 1 week, 1 day ago
lanphy_write_reg_data() does not advance the data pointer while iterating
over the register table. As a result, it writes the first entry num times
and leaves the remaining errata registers unconfigured.

Single-entry tables are unaffected, but tables with multiple entries
leave every entry after the first unapplied.

Advance the data pointer after each successful write so every table entry
is applied in order.

Fixes: c8732e933925 ("net: phy: micrel: lan8842 errata")
Cc: stable@vger.kernel.org
Signed-off-by: Abhishek Ojha <abhishek.ojha@savoirfairelinux.com>
---
 drivers/net/phy/micrel.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index ae830781824b..5c8461db7b4b 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -6344,6 +6344,7 @@ static int lanphy_write_reg_data(struct phy_device *phydev,
 					    data->val);
 		if (ret)
 			break;
+		data++;
 	}
 
 	return ret;
-- 
2.43.0
Re: [PATCH] net: phy: micrel: Advance register data pointer in write loop
Posted by Andrew Lunn 1 week, 1 day ago
On Wed, Sep 16, 2026 at 07:19:28PM -0400, Abhishek Ojha wrote:
> lanphy_write_reg_data() does not advance the data pointer while iterating
> over the register table. As a result, it writes the first entry num times
> and leaves the remaining errata registers unconfigured.
> 
> Single-entry tables are unaffected, but tables with multiple entries
> leave every entry after the first unapplied.
> 
> Advance the data pointer after each successful write so every table entry
> is applied in order.
> 
> Fixes: c8732e933925 ("net: phy: micrel: lan8842 errata")
> Cc: stable@vger.kernel.org
> Signed-off-by: Abhishek Ojha <abhishek.ojha@savoirfairelinux.com>

Makes you wounder if the short_center_tap errata has any value.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew