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 29367A04B3; Mon, 18 Nov 2019 08:27:03 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 42D6D2142; Mon, 18 Nov 2019 08:27:02 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id 8DF4FCF3; Mon, 18 Nov 2019 08:26:59 +0100 (CET) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Nov 2019 23:26:58 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,319,1569308400"; d="scan'208";a="199874359" Received: from yexl-server.sh.intel.com (HELO localhost) ([10.67.117.17]) by orsmga008.jf.intel.com with ESMTP; 17 Nov 2019 23:26:56 -0800 Date: Mon, 18 Nov 2019 15:23:27 +0800 From: Ye Xiaolong To: Lunyuan Cui Cc: dev@dpdk.org, Wenzhuo Lu , stable@dpdk.org Message-ID: <20191118072327.GH69793@intel.com> References: <20191115144823.3647-1-lunyuanx.cui@intel.com> <20191118145801.78186-1-lunyuanx.cui@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191118145801.78186-1-lunyuanx.cui@intel.com> User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [dpdk-dev] [PATCH v3] net/e1000: fix link status update X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi, wenzhuo Could you help ack this patch if you are ok with this change? Thanks, Xiaolong On 11/18, Lunyuan Cui wrote: >Unassigned variable should not be used as judgment, and there >is no need to update link status according to old link status. >This patch fix the issue. > >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 >--- >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 >