mirror of
https://github.com/openwrt/openwrt.git
synced 2026-10-14 00:07:09 +04:00
The post_config hooks finalize a powered-up SerDes and may calibrate its receiver. Configure autonegotiation and the BMCR speed first so finalization runs with the requested PCS state. This is required for 100BASE-X on RTL930x. Calibrating with the default 1000 Mbps BMCR setting produced symbol errors until BMCR was switched to 100 Mbps. Preserve the changed result from set_autoneg across the post_config callback so pcs_config keeps its existing return semantics. Tested runtime mode transitions and cold boot on RTL838x, RTL930x and RTL931x. Links came up and passed traffic in all tested modes with no regressions observed. Assisted-by: ChatGPT (OpenAI GPT-5.6 Sol) Link: https://github.com/openwrt/openwrt/pull/25378 Signed-off-by: Jonas Jelonek <jonas@jonasjelonek.de>