On Wed, Dec 06, 2023 at 10:58:38AM +0100, Maxime Chevallier wrote: > On Wed, 6 Dec 2023 01:44:38 +0000 > Daniel Golle <daniel@xxxxxxxxxxxxxx> wrote: > > + /* Read USXGMII link status */ > > + state->link = FIELD_GET(RG_PCS_RX_LINK_STATUS, > > + mtk_r32(mpcs, RG_PCS_RX_STATUS0)); > > + > > + /* Continuously repeat re-configuration sequence until link comes up */ > > + if (!state->link) { > > + mtk_usxgmii_pcs_config(pcs, mpcs->neg_mode, > > + state->interface, NULL, false); > > + return; > > .pcs_get_state() isn't called only for link state polling,but also when querying > the link state from ethtool, from phylink_ethtool_ksettings_get(). > > As mtk_usxgmii_pcs_config triggers a pcs reset and reconfiguration, won't this disrupt > the link ? Highly likely if there's a race, but note that mtk_usxgmii_pcs_config() only gets called if the link is *down*. I guess some IPs need a bit of kicking to work properly. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!