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 DA2ECA057C; Thu, 26 Mar 2020 22:33:26 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AE69D1C02E; Thu, 26 Mar 2020 22:33:26 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id E27821BE8A for ; Wed, 25 Mar 2020 04:37:11 +0100 (CET) IronPort-SDR: hYfC8KHR6js13U44a7TLz4K0Ikj0/IXHFJUkxyrsJsu5d1mY3T7lT+qZZuTMJQEIa5Nd0SqoGo cjEnYZZd1vSQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Mar 2020 20:37:10 -0700 IronPort-SDR: DjEMHNJG+5+xTA2nQbIV5VfdZ3UldpLpM1uYAm02j3c+ia5bqESJx7ZgAYulBClAQt6KXcfyxb opsMtWCKP8mQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,302,1580803200"; d="scan'208";a="265399724" Received: from ubuntu.sh.intel.com ([10.240.183.163]) by orsmga002.jf.intel.com with ESMTP; 24 Mar 2020 20:37:07 -0700 From: zhihongx.peng@intel.com To: xiaolong.ye@intel.com, wenzhuo.lu@intel.com, konstantin.ananyev@intel.com Cc: dev@dpdk.org, Peng Zhihong , liang-min.wang@intel.com Date: Tue, 24 Mar 2020 23:31:11 -0400 Message-Id: <20200325033111.9650-1-zhihongx.peng@intel.com> X-Mailer: git-send-email 2.17.1 X-Mailman-Approved-At: Thu, 26 Mar 2020 22:33:25 +0100 Subject: [dpdk-dev] [DPDK] net/ixgbe: fix status synchronization on BSD 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" From: Peng Zhihong DPDK does not implement interrupt mechanism on BSD, so force NIC status synchronization. Fixes: dc66e5fd01b9 (net/ixgbe: improve link state check on VF) Cc: liang-min.wang@intel.com Signed-off-by: Peng Zhihong --- drivers/net/ixgbe/ixgbe_ethdev.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index 23b3f5b0c..6135effcd 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -4243,6 +4243,11 @@ ixgbe_dev_link_update_share(struct rte_eth_dev *dev, if (wait_to_complete == 0 || dev->data->dev_conf.intr_conf.lsc != 0) wait = 0; +/*BSD has no interrupt mechanism, so force NIC status synchronization.*/ +#ifdef RTE_EXEC_ENV_FREEBSD + wait = 1; +#endif + if (vf) diag = ixgbevf_check_link(hw, &link_speed, &link_up, wait); else -- 2.17.1