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 85399151db..68680b211b 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 @@ -1711,9 +1711,11 @@ static int rtsds_930x_get_internal_mode(int sds) static void rtsds_930x_set_power(int sds, bool on) { - int power = on ? 0 : 3; + int power_down = on ? 0x0 : 0x3; + int rx_enable = on ? 0x3 : 0x1; - rtl9300_sds_field_w(sds, 0x20, 0x00, 7, 6, power); + rtl9300_sds_field_w(sds, 0x20, 0x00, 7, 6, power_down); + rtl9300_sds_field_w(sds, 0x20, 0x00, 5, 4, rx_enable); } static int rtsds_930x_config_pll(int sds, phy_interface_t interface)