Re: [PATCH 4.9 181/310] net: phy: micrel: Restore led_mode and clk_sel on resume

From: Dan Rue
Date: Wed Jul 11 2018 - 16:15:53 EST


On Thu, Apr 19, 2018 at 10:05:24PM +0300, Leonard Crestez wrote:
> On Thu, 2018-04-19 at 11:32 -0700, Florian Fainelli wrote:
> > +Others who reported the same problem
> > On 04/19/2018 11:24 AM, Naresh Kamboju wrote:
> > > On 19 April 2018 at 21:41, Leonard Crestez <leonard.crestez@xxxxxxx> wrote:
> > > >
> > > > Looking at this dump I'm guessing that phydev->priv is NULL at the
> > > > start of kszphy_config_reset and this really shouldn't be happening.
> > > >
> > > > The phydev->priv field is initialized by kszphy_probe but your
> > > > particular phy (KSZ9031) in linux-4.9.y does not seem to have .probe =
> > > > kszphy_probe assigned in the struct phy_driver ksphy_driver array.
> > > >
> > > > In upstream this was added by commit bfe72442578b ("net: phy: micrel:
> > > > fix crash when statistic requested for KSZ9031 phy"). The message for
> > > > that patch claims to fix a kernel crash on this command:
> > > >
> > > >     ethtool --phy-statistics eth0
> > > >
> > > > Looking at the code this issue should affect linux-4.9.y on your board.
> > > > Naresh: can you please check?
> > > After reverting the patch i have run this command and kernel oops
> > > showed up.
> > > ethtool --phy-statistics eth0
> > >
> > > PC is at kszphy_get_stats+0x74/0xa8
> > >
> > > ethtool --phy-statistics eth0 crashed on x15
> > > 
> > Chris proposed the following patch, which has not been formally
> > submitted yet:
> >
> > Meanwhile, Greg seems to have reverted the offending patch, so we should
> > be good with 4.9.95.
>
> I don't object to reverting my patch from linux-4.14.y but it seems all
> the affected hardware would also be affected by the crash from ethtool
> --phy-statistics eth0. Adding bfe72442578b to stable would be great
> because it fixes more than the patch in the title.
>
> In the other thread there is a mention that "Micrel KSZ8795",
> "Micrel KSZ886X Switch", "Micrel KSZ8061", and "Micrel KS8737" might
> still have problems after bfe72442578b. Is this because they have
> kszphy_config_init but not kszphy_probe? All versions of
> kszphy_config_init seem to check for a NULL priv.

To conclude this thread, bfe72442578b has been backported as of 4.9.112
and 'ethtool --phy-statistics eth0' no longer causes a NULL pointer
error.

Dan

>
> --
> Regards,
> Leonard