Subject: Re: [PATCH] net: mvneta: only do WoL speed down if the PHY is valid

From: Russell King - ARM Linux admin <[email-masked]>
Date: Thu, 21 May 2020 16:26:56 +0100

On Thu, May 21, 2020 at 05:19:16PM +0200, Andrew Lunn wrote:
> >  drivers/net/ethernet/marvell/mvneta.c | 7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
> > index 41d2a0eac..f9170bc93 100644
> > --- a/drivers/net/ethernet/marvell/mvneta.c
> > +++ b/drivers/net/ethernet/marvell/mvneta.c
> > @@ -3567,8 +3567,9 @@ static void mvneta_start_dev(struct mvneta_port *pp)
> >  
> >  	phylink_start(pp->phylink);
> >  
> > -	/* We may have called phy_speed_down before */
> > -	phy_speed_up(pp->dev->phydev);
> > +	if(pp->dev->phydev)
> > +		/* We may have called phy_speed_down before */
> > +		phy_speed_up(pp->dev->phydev);
> 
> I don't think it is as simple as this. You should not really be mixing
> phy_ and phylink_ calls within one driver. You might of noticed there
> are no other phy_ calls in this driver. So ideally you want to add
> phylink_ calls which do the right thing.

And... what is mvneta doing getting the phydev?  I removed all that
code when converting it to phylink, since the idea with phylink is
that the PHY is the responsibility of phylink not the network driver.

I hope the patch adding pp->dev->phydev hasn't been merged as it's
almost certainly wrong.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC for 0.8m (est. 1762m) line in suburbia: sync at 13.1Mbps down 424kbps up