From: Harshal Gohel Date: Mon, 14 Jul 2025 09:35:00 +0000 (+0200) Subject: realtek: rtl931x: Fix SDS field modifications X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=848887b491fdb252ac888c353c4d8fef38b6b741;p=openwrt%2Fstaging%2Fblocktrron.git 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 --- 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; }