From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5AFA9A0546; Wed, 7 Apr 2021 08:45:05 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3B0B6407FF; Wed, 7 Apr 2021 08:45:05 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 6B1C84069F for ; Wed, 7 Apr 2021 08:45:03 +0200 (CEST) IronPort-SDR: bq97hVlrjvzELxEchlZI4xS0vnNvwfl6PvzQDo3No/FHWxAxNWy4fr+XZnvbwkx9r06T20cCjZ UGj0PPnxHaVw== X-IronPort-AV: E=McAfee;i="6000,8403,9946"; a="173315749" X-IronPort-AV: E=Sophos;i="5.82,201,1613462400"; d="scan'208";a="173315749" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Apr 2021 23:45:02 -0700 IronPort-SDR: a10FRDTGeQpZjBRvsrjvTgKuQ5q/E5Bau0FpgQ62B4gGqyPaJtTxvVsMmnAlxZhLmLz7QXRQiP kHx5H/vu58zA== X-IronPort-AV: E=Sophos;i="5.82,201,1613462400"; d="scan'208";a="421563914" Received: from unknown (HELO intel-npg-odc-srv02.cd.intel.com) ([10.240.178.186]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Apr 2021 23:44:59 -0700 From: Murphy Yang To: dev@dpdk.org Cc: qiming.yang@intel.com, jia.guo@intel.com, beilei.xing@intel.com, qi.z.zhang@intel.com, stevex.yang@intel.com, robinx.zhang@intel.com, Murphy Yang Date: Wed, 7 Apr 2021 06:37:29 +0000 Message-Id: <20210407063729.67731-1-murphyx.yang@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [dpdk-dev] [PATCH] net/i40e: fix mbuf fast free wrong check X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" If no offload flags are set, then 0 == 0 & is true. This means that if DEV_TX_OFFLOAD_MBUF_FAST_FREE is not set (and no other flags are set) then this check will still enable `tx_simple_allowed`. This patch adds the 'offloads' flag not equal zero to avoid this scenario. Bugzilla ID: 665 Fixes: 399421100e08 ("net/i40e: fix missing mbuf fast free offload") Signed-off-by: Murphy Yang --- drivers/net/i40e/i40e_rxtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index b3d7765e3b..1450b228ca 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -3345,7 +3345,7 @@ i40e_set_tx_function_flag(struct rte_eth_dev *dev, struct i40e_tx_queue *txq) /* Use a simple Tx queue if possible (only fast free is allowed) */ ad->tx_simple_allowed = - (txq->offloads == + (txq->offloads != 0 && txq->offloads == (txq->offloads & DEV_TX_OFFLOAD_MBUF_FAST_FREE) && txq->tx_rs_thresh >= RTE_PMD_I40E_TX_MAX_BURST); ad->tx_vec_allowed = (ad->tx_simple_allowed && -- 2.17.1