lkml.org 
[lkml]   [2018]   [Apr]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 4.9 181/310] net: phy: micrel: Restore led_mode and clk_sel on resume
    From
    Date
    On Thu, 2018-04-19 at 17:02 +0530, Naresh Kamboju wrote:
    > On 12 April 2018 at 00:05, Greg Kroah-Hartman
    > <gregkh@linuxfoundation.org> wrote:
    > >
    > > 4.9-stable review patch.  If anyone has any objections, please let me know.
    > >
    > > ------------------
    > >
    > > From: Leonard Crestez <leonard.crestez@nxp.com>
    > >
    > > [ Upstream commit 79e498a9c7da0737829ff864aae44df434105676 ]
    > >
    > > These bits seem to be lost after a suspend/resume cycle so just set them
    > > again. Do this by splitting the handling of these bits into a function
    > > that is also called on resume.
    > >
    > > This patch fixes ethernet suspend/resume on imx6ul-14x14-evk boards.
    > >
    > > Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
    > > Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    > > Signed-off-by: David S. Miller <davem@davemloft.net>
    > > Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    > > ---
    > >  drivers/net/phy/micrel.c |   42 ++++++++++++++++++++++++++++--------------
    > >  1 file changed, 28 insertions(+), 14 deletions(-)

    > arm32 x15 device booting 4.9 kernel shows kernel warning and
    > the network is not working on the device.
    >
    > Linux version 4.9.95-rc1 (buildslave@lkft-01) (gcc version 6.2.1 20161016
    >  (Linaro GCC 6.2-2016.11) ) #1 SMP Tue Apr 17 19:12:22 UTC 2018
    >
    > Boot log kernel crash log:
    > --------------------------
    > [   13.766589] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    > [   13.805441] net eth0: initializing cpsw version 1.15 (0)
    > [   13.930334] Unable to handle kernel NULL pointer dereference at
    > virtual address 00000008
    > [   13.982009] PC is at kszphy_config_reset+0x1c/0x150
    > [   13.986909] LR is at kszphy_resume+0x24/0x64
    > LAVA job id: https://lkft.validation.linaro.org/scheduler/job/187429#L3341

    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?

    Commit bfe72442578b was not tagged or selected for stable but it seems
    to be a more serious issue.

    BTW, the original patch was 2nd of a series, actually making imx6ul-
    4x14-evk correctly suspend/resume ethernet in linux-4.9.y also requires
    1st commit e6f4292ae0a1 ("ARM: dts: imx6ul-14x14-evk: Add ksz8081 phy
    properties"). But this is not a terribly important fix.

    --
    Regards,
    Leonard

    \
     
     \ /
      Last update: 2018-04-19 18:12    [W:2.504 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site