Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp2856124pxk; Mon, 28 Sep 2020 01:39:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz088HIprGHUpeucGl3E9uJGmYo3P7yusXXUh/aoV1CWYZ5PtgsrTEHBqbUNgO0dreFCsW8 X-Received: by 2002:a05:6402:1495:: with SMTP id e21mr509117edv.146.1601282393176; Mon, 28 Sep 2020 01:39:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601282393; cv=none; d=google.com; s=arc-20160816; b=ljTpY8RtOs5KmjzzbuhlCyYToa/Xi72OM1VKWk16UxaUyufg4MrrLXR0WCSNJy76cu tmU30teiGc1L1b6pFJDHSVlt+paShBudb+ddgr36aCv2jsInvSNalB3Iy4UFIajilAsQ j9L8ZRD5V5clM3F9LvVIZoezvc8FViosm8NjDfP02yRStnDNJq1N99E/Oc1bc+Kl+i1f 0G5nEsVhzLLbwDjobJrb84zV6KbBobYXCM8/xig50BfUQ36L7G4I514ZOJXqfHujzfMo 7IHT1phYmaMU/n/r/I9ec/WG1/qVWX/5GM8BJ2GV6hL6JKF9W2IIh1/CAUN7ivdR0zKI bprQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=MvFrdV3tdQaKcA0YnsjTHPl9PMwmWItg+0M3GZ586Wo=; b=VFtUQ5Bc9t0686E0KRdUU704w+1ne0DTgiSAR7azUjrDI/Mn3nqDPbE8vuMKN7FRY3 o4nQ+F9RX+V/LMmdbP6CaL78gn2PyrFLFUecvaNVrDTOeu+QJ/0AQyA+fRsg2sW9XlqA swhe5nppwilk33Ab8hYeuzHshzWVUtnu+OUTIWC6mv4pn+YiJDAA//nXTAKi5h8KDs2R uM9p95o0qKufP5KE6CfFaolO+3EbaZdlGvyobw/yYPxJtMU1pXmdYbsMxwG7mW2uDlrB wK5/F2tmMvzkAz7rl6fVsWDkk8rYAMrgB7x7DnXGpZo8OdO1/M+visYnCOEuT7zm6zsp kHPA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t22si180618eji.298.2020.09.28.01.39.30; Mon, 28 Sep 2020 01:39:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726629AbgI1IhS (ORCPT + 99 others); Mon, 28 Sep 2020 04:37:18 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:47780 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726380AbgI1IhS (ORCPT ); Mon, 28 Sep 2020 04:37:18 -0400 Received: from 61-220-137-37.hinet-ip.hinet.net ([61.220.137.37] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1kMoei-0006rf-AQ; Mon, 28 Sep 2020 08:37:08 +0000 From: Kai-Heng Feng To: jeffrey.t.kirsher@intel.com Cc: andrew@lunn.ch, Kai-Heng Feng , "David S. Miller" , Jakub Kicinski , intel-wired-lan@lists.osuosl.org (moderated list:INTEL ETHERNET DRIVERS), netdev@vger.kernel.org (open list:NETWORKING DRIVERS), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v4] e1000e: Increase polling timeout on MDIC ready bit Date: Mon, 28 Sep 2020 16:36:58 +0800 Message-Id: <20200928083658.8567-1-kai.heng.feng@canonical.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200924164542.19906-1-kai.heng.feng@canonical.com> References: <20200924164542.19906-1-kai.heng.feng@canonical.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We are seeing the following error after S3 resume: [ 704.746874] e1000e 0000:00:1f.6 eno1: Setting page 0x6020 [ 704.844232] e1000e 0000:00:1f.6 eno1: MDI Write did not complete [ 704.902817] e1000e 0000:00:1f.6 eno1: Setting page 0x6020 [ 704.903075] e1000e 0000:00:1f.6 eno1: reading PHY page 769 (or 0x6020 shifted) reg 0x17 [ 704.903281] e1000e 0000:00:1f.6 eno1: Setting page 0x6020 [ 704.903486] e1000e 0000:00:1f.6 eno1: writing PHY page 769 (or 0x6020 shifted) reg 0x17 [ 704.943155] e1000e 0000:00:1f.6 eno1: MDI Error ... [ 705.108161] e1000e 0000:00:1f.6 eno1: Hardware Error As Andrew Lunn pointed out, MDIO has nothing to do with phy, and indeed increase polling iteration can resolve the issue. This patch only papers over the symptom, as we don't really know the root cause of the issue. The most possible culprit is Intel ME, which may do its own things that conflict with software. Signed-off-by: Kai-Heng Feng --- v4: - States that this patch just papers over the symptom. v3: - Moving delay to end of loop doesn't save anytime, move it back. - Point out this is quitely likely caused by Intel ME. v2: - Increase polling iteration instead of powering down the phy. drivers/net/ethernet/intel/e1000e/phy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/intel/e1000e/phy.c b/drivers/net/ethernet/intel/e1000e/phy.c index e11c877595fb..e6d4acd90937 100644 --- a/drivers/net/ethernet/intel/e1000e/phy.c +++ b/drivers/net/ethernet/intel/e1000e/phy.c @@ -203,7 +203,7 @@ s32 e1000e_write_phy_reg_mdic(struct e1000_hw *hw, u32 offset, u16 data) * Increasing the time out as testing showed failures with * the lower time out */ - for (i = 0; i < (E1000_GEN_POLL_TIMEOUT * 3); i++) { + for (i = 0; i < (E1000_GEN_POLL_TIMEOUT * 10); i++) { udelay(50); mdic = er32(MDIC); if (mdic & E1000_MDIC_READY) -- 2.17.1