Thread (5 messages) flat view 5 messages, 4 authors, 26d ago

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

From: Andrew Lunn <andrew@lunn.ch>
Date: 2026-08-03 20:49:57
Also in: lkml

+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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help