Re: [PATCH v2 net-next] net: phy: at803x: remove at803x_aneg_done()

From: Michael Walle
Date: Thu Mar 18 2021 - 15:48:15 EST


Am 2021-03-18 20:44, schrieb Michael Walle:
Here is what Vladimir says about it:

at803x_aneg_done() keeps the aneg reporting as "not done" even when
the copper-side link was reported as up, but the in-band autoneg has
not finished.

That was the _intended_ behavior when that code was introduced, and
Heiner have said about it [1]:

| That's not nice from the PHY:
| It signals "link up", and if the system asks the PHY for link details,
| then it sheepishly says "well, link is *almost* up".

If the specification of phy_aneg_done behavior does not include
in-band autoneg (and it doesn't), then this piece of code does not
belong here.

The fact that we can no longer trigger this code from phylib is yet
another reason why it fails at its intended (and wrong) purpose and
should be removed.

Removing the SGMII link check, would just keep the call to
genphy_aneg_done(), which is also the fallback. Thus we can just remove
at803x_aneg_done() altogether.

[1] https://lore.kernel.org/netdev/fdf0074a-2572-5914-6f3e-77202cbf96de@xxxxxxxxx/

Suggested-by: Vladimir Oltean <olteanv@xxxxxxxxx>
Signed-off-by: Michael Walle <michael@xxxxxxxx>
---

Sorry forgot the version history:

Changes since v1:
- more detailed commit message

-michael