From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4F7FAA04D7 for ; Tue, 26 Nov 2019 03:28:55 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id EFD2C4C90; Tue, 26 Nov 2019 03:28:54 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id A794191; Tue, 26 Nov 2019 03:28:50 +0100 (CET) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Nov 2019 18:28:49 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,244,1571727600"; d="scan'208";a="211215654" Received: from yexl-server.sh.intel.com (HELO localhost) ([10.67.117.17]) by orsmga003.jf.intel.com with ESMTP; 25 Nov 2019 18:28:48 -0800 Date: Tue, 26 Nov 2019 10:24:58 +0800 From: Ye Xiaolong To: Lunyuan Cui Cc: dev@dpdk.org, Wenzhuo Lu , stable@dpdk.org Message-ID: <20191126022458.GD101220@intel.com> References: <20191118145801.78186-1-lunyuanx.cui@intel.com> <20191120092203.81886-1-lunyuanx.cui@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191120092203.81886-1-lunyuanx.cui@intel.com> User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH v4] net/e1000: fix link status update X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" On 11/20, Lunyuan Cui wrote: >There is no need to judge the original link state, >only update the data according to the current link state. >It can maintain better robustness. > >In addition, this patch change the variable >from link_check to link_up. > >Fixes: 80ba61115e77 ("net/e1000: use link status helper functions") >Cc: stable@dpdk.org > >Signed-off-by: Lunyuan Cui >--- >v4: >* modifier commit log > >v3: >* Change the variable from link_check to link_up. > >v2 >* Delete incorrect judgment >--- > drivers/net/e1000/em_ethdev.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > >diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c >index 9a88b50b2..080cbe2df 100644 >--- a/drivers/net/e1000/em_ethdev.c >+++ b/drivers/net/e1000/em_ethdev.c >@@ -1121,9 +1121,9 @@ eth_em_link_update(struct rte_eth_dev *dev, int wait_to_complete) > struct e1000_hw *hw = > E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private); > struct rte_eth_link link; >- int link_check, count; >+ int link_up, count; > >- link_check = 0; >+ link_up = 0; > hw->mac.get_link_status = 1; > > /* possible wait-to-complete in up to 9 seconds */ >@@ -1133,31 +1133,31 @@ eth_em_link_update(struct rte_eth_dev *dev, int wait_to_complete) > case e1000_media_type_copper: > /* Do the work to read phy */ > e1000_check_for_link(hw); >- link_check = !hw->mac.get_link_status; >+ link_up = !hw->mac.get_link_status; > break; > > case e1000_media_type_fiber: > e1000_check_for_link(hw); >- link_check = (E1000_READ_REG(hw, E1000_STATUS) & >+ link_up = (E1000_READ_REG(hw, E1000_STATUS) & > E1000_STATUS_LU); > break; > > case e1000_media_type_internal_serdes: > e1000_check_for_link(hw); >- link_check = hw->mac.serdes_has_link; >+ link_up = hw->mac.serdes_has_link; > break; > > default: > break; > } >- if (link_check || wait_to_complete == 0) >+ if (link_up || wait_to_complete == 0) > break; > rte_delay_ms(EM_LINK_UPDATE_CHECK_INTERVAL); > } > memset(&link, 0, sizeof(link)); > > /* Now we check if a transition has happened */ >- if (link_check && (link.link_status == ETH_LINK_DOWN)) { >+ if (link_up) { > uint16_t duplex, speed; > hw->mac.ops.get_link_up_info(hw, &speed, &duplex); > link.link_duplex = (duplex == FULL_DUPLEX) ? >@@ -1167,7 +1167,7 @@ eth_em_link_update(struct rte_eth_dev *dev, int wait_to_complete) > link.link_status = ETH_LINK_UP; > link.link_autoneg = !(dev->data->dev_conf.link_speeds & > ETH_LINK_SPEED_FIXED); >- } else if (!link_check && (link.link_status == ETH_LINK_UP)) { >+ } else { > link.link_speed = ETH_SPEED_NUM_NONE; > link.link_duplex = ETH_LINK_HALF_DUPLEX; > link.link_status = ETH_LINK_DOWN; >-- >2.17.1 > Acked-by: Xiaolong Ye Applied to dpdk-next-net-intel, Thanks.