From patchwork Fri Jan 26 08:46:51 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Zhao1, Wei" X-Patchwork-Id: 34546 X-Patchwork-Delegate: helin.zhang@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 64CC51B61E; Fri, 26 Jan 2018 09:54:44 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id EF7031B416 for ; Fri, 26 Jan 2018 09:54:42 +0100 (CET) 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/DHE-RSA-AES256-GCM-SHA384; 26 Jan 2018 00:54:40 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,415,1511856000"; d="scan'208";a="29642178" Received: from dpdk2.bj.intel.com ([172.16.182.81]) by orsmga002.jf.intel.com with ESMTP; 26 Jan 2018 00:54:39 -0800 From: Wei Zhao To: dev@dpdk.org Cc: qi.z.zhang@intel.com, Wei Zhao Date: Fri, 26 Jan 2018 16:46:51 +0800 Message-Id: <20180126084651.41865-1-wei.zhao1@intel.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20180126030817.38021-1-wei.zhao1@intel.com> References: <20180126030817.38021-1-wei.zhao1@intel.com> Subject: [dpdk-dev] [PATCH v3] net/i40e: fix issue for RSS flow API 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" This patch fix issue check from DPDK coverity issues. Coverity issue: 257020, 257024, 257037 Fixes: ecad87d22383e ("net/i40e: move RSS to flow API") Signed-off-by: Wei Zhao Acked-by: Qi Zhang --- v2: -fix an error introduced in v1 patch. v3: -change coverity writing style for DPDK rule. --- drivers/net/i40e/i40e_ethdev.c | 2 +- drivers/net/i40e/i40e_flow.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 5ea9f99..b0db458 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -11681,7 +11681,7 @@ i40e_config_rss_filter(struct i40e_pf *pf, sizeof(uint32_t); } - return i40e_hw_rss_hash_set(pf, &rss_conf); + i40e_hw_rss_hash_set(pf, &rss_conf); rte_memcpy(rss_info, conf, sizeof(struct i40e_rte_flow_rss_conf)); diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index cd9a9b6..2cb9c64 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c @@ -4201,6 +4201,7 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, struct i40e_rte_flow_rss_conf *rss_info = &pf->rss_info; uint16_t i, j, n, tmp; uint32_t index = 0; + uint64_t hf_bit = 1; NEXT_ITEM_OF_ACTION(act, actions, index); rss = (const struct rte_flow_action_rss *)act->conf; @@ -4219,7 +4220,7 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, if (action_flag) { for (n = 0; n < 64; n++) { - if (rss->rss_conf->rss_hf & (1 << n)) { + if (rss->rss_conf->rss_hf & (hf_bit << n)) { conf_info->region[0].hw_flowtype[0] = n; conf_info->region[0].flowtype_num = 1; conf_info->queue_region_number = 1; @@ -4313,9 +4314,11 @@ i40e_flow_parse_rss_action(struct rte_eth_dev *dev, } rss_config->queue_region_conf = TRUE; - return 0; } + if (rss_config->queue_region_conf) + return 0; + if (!rss || !rss->num) { rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ACTION,