Re: [PATCH net-next v3 1/2] net: phy: aquantia: restore EEE discovery in get_features callbacks

From: Andrew Lunn

Date: Fri Oct 16 2026 - 17:19:37 EST


On Fri, Oct 16, 2026 at 11:23:18AM +0800, Hongmei Xu wrote:
> aqr115c_get_features() populates phydev->supported by ORing in
> phy_gbit_features and setting the 2.5G bit directly. This skips
> genphy_c45_pma_read_abilities(), which is responsible for reading
> EEE capabilities and filling phydev->supported_eee.
>
> As a result, phy_probe() never populates supported_eee for AQR111,
> AQR114C and AQR115C. The kernel then clears advertising_eee:
>
> linkmode_and(phydev->advertising_eee, phydev->supported_eee,
> phydev->advertising_eee);
>
> This means EEE advertisement registers cannot be changed via ethtool
> and ethtool --show-eee reports no supported modes.
>
> Fix this by following the pattern used in aqr105_get_features(): call
> genphy_c45_pma_read_abilities() as the base, then set the 2.5G bit
> explicitly since the PHY does not report it correctly in PMA registers.
>
> Also fix aqr111_get_features() to check and propagate the return value
> of aqr115c_get_features(), which can now fail since it calls
> genphy_c45_pma_read_abilities().
>
> Signed-off-by: Hongmei Xu <hongmei.xu@xxxxxxxxxxxxxxxx>

Reviewed-by: Andrew Lunn <andrew@xxxxxxx>

Andrew