Re: [PATCH net-next 2/2] net: phy: at803x: use proper locking in at803x_aneg_done()

From: Vladimir Oltean
Date: Mon Feb 15 2021 - 16:33:39 EST


On Sun, Feb 14, 2021 at 09:48:53PM +0100, Michael Walle wrote:
> Am 2021-02-14 03:24, schrieb Vladimir Oltean:
> > On Sun, Feb 14, 2021 at 03:18:49AM +0100, Michael Walle wrote:
> > > Am 14. Februar 2021 02:57:33 MEZ schrieb Vladimir Oltean <olteanv@xxxxxxxxx>:
> > > >Hi Michael,
> > > >
> > > >On Sun, Feb 14, 2021 at 02:04:05AM +0100, Michael Walle wrote:
> > > >> at803x_aneg_done() checks if auto-negotiation is completed on the SGMII
> > > >> side. This doesn't take the mdio bus lock and the page switching is
> > > >> open-coded. Now that we have proper page support, just use
> > > >> phy_read_paged(). Also use phydev->interface to check if we have an
> > > >> SGMII link instead of reading the mode register and be a bit more
> > > >> precise on the warning message.
> > > >>
> > > >> Signed-off-by: Michael Walle <michael@xxxxxxxx>
> > > >> ---
> > > >
> > > >How did you test this patch?
> > >
> > > I'm afraid it's just compile time tested.
> >
> > I'm asking because at803x_aneg_done has been dead code for more than 2
> > years now. Unreachable. And while it was reachable it was buggy and an
> > abuse of the phylib API. So you might want to just delete this function
> > instead. Context:
> > https://lkml.org/lkml/2020/5/30/375
>
> Are you sure? While it isn't called from phylib, it might be called from
> some drivers directly or indirectly if they use phy_speed_down().
> But it is questionable if this is much of a use then.
>
> That being said, if no one objects, I'd remove it, too.

It might, true, but it is certainly of no use.