lkml.org 
[lkml]   [2020]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.6 35/49] net: phy: bcm84881: clear settings on link down
    Date
    From: Russell King <rmk+kernel@armlinux.org.uk>

    [ Upstream commit 796a8fa28980050bf1995617f0876484f3dc1026 ]

    Clear the link partner advertisement, speed, duplex and pause when
    the link goes down, as other phylib drivers do. This avoids the
    stale link partner, speed and duplex settings being reported via
    ethtool.

    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/phy/bcm84881.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff --git a/drivers/net/phy/bcm84881.c b/drivers/net/phy/bcm84881.c
    index 14d55a77eb28a..1260115829283 100644
    --- a/drivers/net/phy/bcm84881.c
    +++ b/drivers/net/phy/bcm84881.c
    @@ -174,9 +174,6 @@ static int bcm84881_read_status(struct phy_device *phydev)
    if (phydev->autoneg == AUTONEG_ENABLE && !phydev->autoneg_complete)
    phydev->link = false;

    - if (!phydev->link)
    - return 0;
    -
    linkmode_zero(phydev->lp_advertising);
    phydev->speed = SPEED_UNKNOWN;
    phydev->duplex = DUPLEX_UNKNOWN;
    @@ -184,6 +181,9 @@ static int bcm84881_read_status(struct phy_device *phydev)
    phydev->asym_pause = 0;
    phydev->mdix = 0;

    + if (!phydev->link)
    + return 0;
    +
    if (phydev->autoneg_complete) {
    val = genphy_c45_read_lpa(phydev);
    if (val < 0)
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-05-08 14:56    [W:3.797 / U:0.540 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site