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

From: Leonard Crestez
Date: Thu Apr 19 2018 - 15:05:42 EST


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.

--
Regards,
Leonard