diff --git a/target/linux/realtek/files-6.12/drivers/net/pcs/pcs-rtl-otto.c b/target/linux/realtek/files-6.12/drivers/net/pcs/pcs-rtl-otto.c index d1997b7a09..58e64a5713 100644 --- a/target/linux/realtek/files-6.12/drivers/net/pcs/pcs-rtl-otto.c +++ b/target/linux/realtek/files-6.12/drivers/net/pcs/pcs-rtl-otto.c @@ -3620,6 +3620,10 @@ static int rtpcs_931x_setup_serdes(struct rtpcs_serdes *sds, if (ret < 0) return ret; + ret = rtpcs_931x_sds_config_cmu(sds, hw_mode); + if (ret < 0) + return ret; + switch (hw_mode) { case RTPCS_SDS_MODE_OFF: ret = rtpcs_931x_sds_set_port_media(sds, RTPCS_PORT_MEDIA_NONE); @@ -3638,8 +3642,6 @@ static int rtpcs_931x_setup_serdes(struct rtpcs_serdes *sds, break; } - rtpcs_931x_sds_config_cmu(sds, hw_mode); - if (sds_id >= 2) { if (ctrl->chip_version == RTPCS_CHIP_V2) /* consider 9311 etc. RTL9313_CHIP_ID == HWP_CHIP_ID(unit)) */