lkml.org 
[lkml]   [2018]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.18 110/350] net: phy: phylink: ensure the carrier is off when starting phylink
    Date
    4.18-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Antoine Tenart <antoine.tenart@bootlin.com>

    [ Upstream commit aeeb2e8fdefdd5d257a1446351c70cb3df540199 ]

    Phylink made an assumption about the carrier state being down when
    calling phylink_start(). If this assumption isn't satisfied, the
    internal phylink state could misbehave and a net device could end up not
    being functional.

    This patch fixes this by explicitly calling netif_carrier_off() in
    phylink_start().

    Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
    Acked-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>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/phy/phylink.c | 3 +++
    1 file changed, 3 insertions(+)

    --- a/drivers/net/phy/phylink.c
    +++ b/drivers/net/phy/phylink.c
    @@ -907,6 +907,9 @@ void phylink_start(struct phylink *pl)
    phylink_an_mode_str(pl->link_an_mode),
    phy_modes(pl->link_config.interface));

    + /* Always set the carrier off */
    + netif_carrier_off(pl->netdev);
    +
    /* Apply the link configuration to the MAC when starting. This allows
    * a fixed-link to start with the correct parameters, and also
    * ensures that we set the appropriate advertisement for Serdes links.

    \
     
     \ /
      Last update: 2018-11-12 00:36    [W:2.081 / U:0.948 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site