Re: [PATCH net-next v8] net: phy: Add driver for Motorcomm Quad 2.5GbE phy

Andrew Lunn <[email protected]> Mon, 3 Aug 2026 22:49:43 +0200
Newsgroups org.kernel.vger.netdev,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
> +static int yt8824_config_aneg(struct phy_device *phydev)
> +{
> +	int phy_ctrl = 0;
> +	int ret = 0;
> +
> +	ret = phy8824_page_write_with_lock(phydev, YT8824_RSSR_UTP_SPACE);
> +	if (ret < 0)
> +		return ret;
> +
> +	if (linkmode_test_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT,
> +			      phydev->advertising))
> +		phy_ctrl = MDIO_AN_10GBT_CTRL_ADV2_5G;
> +
> +	ret = phy_modify_mmd_changed(phydev, MDIO_MMD_AN,
> +				     MDIO_AN_10GBT_CTRL,
> +				     MDIO_AN_10GBT_CTRL_ADV2_5G,
> +				     phy_ctrl);
> +	if (ret < 0)
> +		return ret;
> +
> +	return genphy_config_aneg(phydev);
> +}

What i'm missing now is some explanation why this is safe. What is
stopping something from changing the page after the call to
phy8824_page_write_with_lock() before genphy_config_aneg() completes?

	Andrew