summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarshal Gohel2025-07-14 09:35:00 +0000
committerRobert Marko2025-07-30 10:48:26 +0000
commit848887b491fdb252ac888c353c4d8fef38b6b741 (patch)
tree31a388d54288c2ef7b6ba31daa495ea191f39b0c
parentc20f4d6637a4daf66af84d786d002a6382ce3e58 (diff)
downloadopenwrt-848887b491fdb252ac888c353c4d8fef38b6b741.tar.gz
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 <hg@simonwunderlich.de> Signed-off-by: Sharadanand Karanjkar <sk@simonwunderlich.de> Link: https://github.com/openwrt/openwrt/pull/19603 Signed-off-by: Robert Marko <robimarko@gmail.com>
-rw-r--r--target/linux/realtek/files-6.12/drivers/net/phy/rtl83xx-phy.c2
1 files changed, 1 insertions, 1 deletions
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;
}