1
1

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: 7026084066 ("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>
This commit is contained in:
Harshal Gohel 2025-07-14 11:35:00 +02:00 committed by Robert Marko
parent c20f4d6637
commit 848887b491

View File

@ -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;
}