]> www.infradead.org Git - users/griffoul/linux.git/commitdiff
net: phy: aquantia: reorder AQR113C PMD Global Transmit Disable bit clearing with...
authorVladimir Oltean <vladimir.oltean@nxp.com>
Thu, 21 Aug 2025 15:20:10 +0000 (18:20 +0300)
committerJakub Kicinski <kuba@kernel.org>
Mon, 25 Aug 2025 17:54:14 +0000 (10:54 -0700)
Introduced in commit bed90b06b681 ("net: phy: aquantia: clear PMD Global
Transmit Disable bit during init"), the clearing of MDIO_PMA_TXDIS plus
the call to aqr107_wait_processor_intensive_op() are only by chance
placed between aqr107_config_init() and aqr107_fill_interface_modes().
In other words, aqr107_fill_interface_modes() does not depend in any way
on these 2 operations.

I am only 90% sure of that, and I intend to move aqr107_fill_interface_modes()
to be a part of aqr107_config_init() in the future. So to isolate the
issue for blame attribution purposes, make these 2 functions adjacent to
each other again.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20250821152022.1065237-4-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/aquantia/aquantia_main.c

index b9b58c6ce6866a1f9c88ebd3afb378111a9980ce..7ac0b685a3177464231c0aff81a0999139d3377e 100644 (file)
@@ -1093,16 +1093,16 @@ static int aqr113c_config_init(struct phy_device *phydev)
        if (ret < 0)
                return ret;
 
-       ret = phy_clear_bits_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_PMA_TXDIS,
-                                MDIO_PMD_TXDIS_GLOBAL);
+       ret = aqr107_fill_interface_modes(phydev);
        if (ret)
                return ret;
 
-       ret = aqr107_wait_processor_intensive_op(phydev);
+       ret = phy_clear_bits_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_PMA_TXDIS,
+                                MDIO_PMD_TXDIS_GLOBAL);
        if (ret)
                return ret;
 
-       return aqr107_fill_interface_modes(phydev);
+       return aqr107_wait_processor_intensive_op(phydev);
 }
 
 static int aqr107_probe(struct phy_device *phydev)