From 848887b491fdb252ac888c353c4d8fef38b6b741 Mon Sep 17 00:00:00 2001 From: Harshal Gohel Date: Mon, 14 Jul 2025 11:35:00 +0200 Subject: [PATCH] realtek: rtl931x: Fix SDS field modifications A RTL930x function to read the value from an SDS register must not used on an RTL931x SoC. Doing it with rtl930x_read_sds_phy() would corrupt the written results when only parts of the bits are written. Fixes: 7026084066fb ("realtek: Add SDS configuration routines for the RTL93XX platforms") Signed-off-by: Harshal Gohel Signed-off-by: Sharadanand Karanjkar Link: https://github.com/openwrt/openwrt/pull/19603 Signed-off-by: Robert Marko --- target/linux/realtek/files-6.12/drivers/net/phy/rtl83xx-phy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/realtek/files-6.12/drivers/net/phy/rtl83xx-phy.c b/target/linux/realtek/files-6.12/drivers/net/phy/rtl83xx-phy.c index 439ba9aa37..65e7e12117 100644 --- a/target/linux/realtek/files-6.12/drivers/net/phy/rtl83xx-phy.c +++ b/target/linux/realtek/files-6.12/drivers/net/phy/rtl83xx-phy.c @@ -3048,7 +3048,7 @@ static void rtl9310_sds_field_w(int sds, u32 page, u32 reg, int end_bit, int sta if (l < 32) { u32 mask = BIT(l) - 1; - data = rtl930x_read_sds_phy(sds, page, reg); + data = rtl931x_read_sds_phy(sds, page, reg); data &= ~(mask << start_bit); data |= (v & mask) << start_bit; } -- 2.30.2