Received: by 10.223.164.202 with SMTP id h10csp3047924wrb; Tue, 28 Nov 2017 05:31:44 -0800 (PST) X-Google-Smtp-Source: AGs4zMa3ej9iqT8xkadbsWsbLk0n0CLwCalrkZXme416AdKLlqq4N6tCXkO1cRCOwrrj9IENa0y/ X-Received: by 10.101.101.205 with SMTP id y13mr32571596pgv.249.1511875904291; Tue, 28 Nov 2017 05:31:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1511875904; cv=none; d=google.com; s=arc-20160816; b=fTxGIjoz/SFNZ2+B1L+WmfxCkr2tfCi40nT5RU74IOgT1jjRk07JReRSPRLpARpSiB mhIACNIM79MDffAKp0sQJ3A2NeuvtyHMwu+vzAaaqtYCD5bJQ8KP1pZ6QW9Ofv4E0h5f a07HsJPZgyAasKZiX2gJDe6YjQ3MLkwd1I2hapeN+0KSuE2SOKzePzarNr/pb4dqqfyd R+KgS0aZidSnUrP1UPjhMYHJ6i9cgZsMZ3nvu5bu7B8VL155fbakrM3tIW+RaNs2cqZF /05GvaDVwHvZpha7iUbPZUkcdDuchkTUj9cLF4MKHg9/ZlaZV0L9MddqbuWshs9hbOr2 k5tA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=orB0tkaxTDC6oSheqB/G7zsI9BsFerAMxzAebM+Tej0=; b=mtfOWoj0s+oSC6vFiK5R4OeKH86XvjYi7ThfsO5uXXywMLCOxFpRoSbOqhvi3X9RRX MyYs8ICub/cCz/r+a1U3mDDGxI/jKwQDd0dWrO42jaFbrPt7bhlM7gSS3epK5fMVqI+u dkZ6+onAGoIvZIgWuniB6RmmbE9ZNhwzC3hZMXygHb3dCSu4VvMaO3+uzqzSXYy+71LZ kr+bdQnjy3pvtLB5gMYGRMG4/Wp9yJIgkQ97dIXsIeu1MgiugFkh0LGLhQ9yg3oKlKmV DU6P0yzL9Cvfv1oPDrAMV/twwu/s7huzvJhSYPPgBUE2OOrnBh1H2ppFk6ET9qieD1WT OPCg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i185si24579174pgc.175.2017.11.28.05.31.32; Tue, 28 Nov 2017 05:31:44 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753341AbdK1Nam (ORCPT + 76 others); Tue, 28 Nov 2017 08:30:42 -0500 Received: from mail.free-electrons.com ([62.4.15.54]:60317 "EHLO mail.free-electrons.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753210AbdK1NaT (ORCPT ); Tue, 28 Nov 2017 08:30:19 -0500 Received: by mail.free-electrons.com (Postfix, from userid 110) id 2D8062074D; Tue, 28 Nov 2017 14:30:17 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail.free-electrons.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT, URIBL_BLOCKED shortcircuit=ham autolearn=disabled version=3.4.0 Received: from localhost (LStLambert-657-1-97-87.w90-63.abo.wanadoo.fr [90.63.216.87]) by mail.free-electrons.com (Postfix) with ESMTPSA id 4F75320742; Tue, 28 Nov 2017 14:30:01 +0100 (CET) From: Antoine Tenart To: rmk@armlinux.org.uk, andrew@lunn.ch, f.fainelli@gmail.com, davem@davemloft.net Cc: Yan Markman , gregory.clement@free-electrons.com, thomas.petazzoni@free-electrons.com, miquel.raynal@free-electrons.com, nadavh@marvell.com, mw@semihalf.com, stefanc@marvell.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Antoine Tenart Subject: [PATCH net] net: phylink: fix link state on phy-connect Date: Tue, 28 Nov 2017 14:29:32 +0100 Message-Id: <20171128132932.27196-1-antoine.tenart@free-electrons.com> X-Mailer: git-send-email 2.14.3 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yan Markman When calling successively _connect, _disconnect and _connect again, if the link configuration changed whilst being down from the phylink perspective, the last _connect would stay in an incorrect old speed. Fixes this by setting the link configuration parameters to an unknown value when calling phylink_bringup_phy. Fixes: 9525ae83959b ("phylink: add phylink infrastructure") Signed-off-by: Yan Markman [Antoine: commit message] Signed-off-by: Antoine Tenart --- drivers/net/phy/phylink.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c index e3bbc70372d3..c2cec3eef67d 100644 --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c @@ -621,6 +621,16 @@ static int phylink_bringup_phy(struct phylink *pl, struct phy_device *phy) if (ret) return ret; + /* On _disconnect, the phy state machine and phylink resolve + * are stopped before executing full gracefull down/reset state. + * The further _connect starts with incorrect init state. Let's set + * init values here. + */ + pl->phy_state.link = false; + pl->link_config.pause = MLO_PAUSE_AN; + pl->link_config.speed = SPEED_UNKNOWN; + pl->link_config.duplex = DUPLEX_UNKNOWN; + phy->phylink = pl; phy->phy_link_change = phylink_phy_change; -- 2.14.3 From 1585690013178767043@xxx Sat Dec 02 16:23:59 +0000 2017 X-GM-THRID: 1585688578633083008 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread