DPDK patches and discussions
 help / color / Atom feed
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
To: dev@dpdk.org
Cc: ferruh.yigit@intel.com,
	Kalesh AP <kalesh-anakkur.purayil@broadcom.com>,
	stable@dpdk.org, Somnath Kotur <somnath.kotur@broadcom.com>
Subject: [dpdk-dev] [PATCH v2 01/12] net/bnxt: fix return checks and return values
Date: Wed,  9 Oct 2019 18:41:42 -0700
Message-ID: <20191010014153.64908-2-ajit.khaparde@broadcom.com> (raw)
In-Reply-To: <20191010014153.64908-1-ajit.khaparde@broadcom.com>

From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>

This patch fixes few checks and few return values while getting
and clearing device statistics.

1. Fixed to return standard error code.
2. Clubbed few error checks
3. Removed an unnecessary return check

Fixes: bfb9c2260be2 ("net/bnxt: support xstats get/reset")
Fixes: 88920136688c ("net/bnxt: support xstats get by id")
Cc: stable@dpdk.org

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_stats.c | 36 +++++++++++------------------------
 1 file changed, 11 insertions(+), 25 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_stats.c b/drivers/net/bnxt/bnxt_stats.c
index 21012e1fee..f486a5634b 100644
--- a/drivers/net/bnxt/bnxt_stats.c
+++ b/drivers/net/bnxt/bnxt_stats.c
@@ -360,7 +360,7 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev,
 	memset(bnxt_stats, 0, sizeof(*bnxt_stats));
 	if (!(bp->flags & BNXT_FLAG_INIT_DONE)) {
 		PMD_DRV_LOG(ERR, "Device Initialization not complete!\n");
-		return -1;
+		return -EIO;
 	}
 
 	num_q_stats = RTE_MIN(bp->rx_cp_nr_rings,
@@ -390,9 +390,8 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev,
 		if (unlikely(rc))
 			return rc;
 	}
+
 	rc = bnxt_hwrm_func_qstats(bp, 0xffff, bnxt_stats);
-	if (unlikely(rc))
-		return rc;
 	return rc;
 }
 
@@ -573,30 +572,17 @@ int bnxt_dev_xstats_reset_op(struct rte_eth_dev *eth_dev)
 	if (ret)
 		return ret;
 
-	if (bp->flags & BNXT_FLAG_PORT_STATS && BNXT_SINGLE_PF(bp)) {
-		ret = bnxt_hwrm_port_clr_stats(bp);
-		if (ret != 0) {
-			PMD_DRV_LOG(ERR, "Operation failed: %s\n",
-				    strerror(-ret));
-			return ret;
-		}
-	}
-
-	ret = 0;
-
-	if (BNXT_VF(bp)) {
-		PMD_DRV_LOG(ERR, "Operation not supported on a VF device\n");
-		ret = -ENOTSUP;
-	}
-	if (!BNXT_SINGLE_PF(bp)) {
-		PMD_DRV_LOG(ERR, "Operation not supported on a MF device\n");
-		ret = -ENOTSUP;
-	}
-	if (!(bp->flags & BNXT_FLAG_PORT_STATS)) {
+	if (BNXT_VF(bp) || !BNXT_SINGLE_PF(bp) ||
+	    !(bp->flags & BNXT_FLAG_PORT_STATS)) {
 		PMD_DRV_LOG(ERR, "Operation not supported\n");
 		ret = -ENOTSUP;
 	}
 
+	ret = bnxt_hwrm_port_clr_stats(bp);
+	if (ret != 0)
+		PMD_DRV_LOG(ERR, "Failed to reset xstats: %s\n",
+			    strerror(-ret));
+
 	return ret;
 }
 
@@ -625,7 +611,7 @@ int bnxt_dev_xstats_get_by_id_op(struct rte_eth_dev *dev, const uint64_t *ids,
 	for (i = 0; i < limit; i++) {
 		if (ids[i] >= stat_cnt) {
 			PMD_DRV_LOG(ERR, "id value isn't valid");
-			return -1;
+			return -EINVAL;
 		}
 		values[i] = values_copy[ids[i]];
 	}
@@ -659,7 +645,7 @@ int bnxt_dev_xstats_get_names_by_id_op(struct rte_eth_dev *dev,
 	for (i = 0; i < limit; i++) {
 		if (ids[i] >= stat_cnt) {
 			PMD_DRV_LOG(ERR, "id value isn't valid");
-			return -1;
+			return -EINVAL;
 		}
 		strcpy(xstats_names[i].name,
 				xstats_names_copy[ids[i]].name);
-- 
2.20.1 (Apple Git-117)


  reply index

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-04  5:02 [dpdk-dev] [PATCH 00/10] bnxt patchset with bug fixes Ajit Khaparde
2019-10-04  5:02 ` [dpdk-dev] [PATCH 01/10] net/bnxt: change return value of few routines Ajit Khaparde
2019-10-04  5:02 ` [dpdk-dev] [PATCH 02/10] net/bnxt: free default completion ring before VF configuration Ajit Khaparde
2019-10-04  5:02 ` [dpdk-dev] [PATCH 03/10] net/bnxt: return error if setting link up fail Ajit Khaparde
2019-10-04  5:02 ` [dpdk-dev] [PATCH 04/10] net/bnxt: remove redundant header file inclusion Ajit Khaparde
2019-10-08  8:44   ` Ferruh Yigit
2019-10-04  5:02 ` [dpdk-dev] [PATCH 05/10] net/bnxt: update trusted VF status only when it changes Ajit Khaparde
2019-10-04  5:02 ` [dpdk-dev] [PATCH 06/10] net/bnxt: get the default HWRM command timeout from firmware Ajit Khaparde
2019-10-04  5:02 ` [dpdk-dev] [PATCH 07/10] net/bnxt: reduce cleanup time during reset recovery Ajit Khaparde
2019-10-04  5:02 ` [dpdk-dev] [PATCH 08/10] net/bnxt: change msix vector to queue mapping Ajit Khaparde
2019-10-04  5:02 ` [dpdk-dev] [PATCH 09/10] net/bnxt: fix to handle if change status in port start only Ajit Khaparde
2019-10-04  5:02 ` [dpdk-dev] [PATCH 10/10] net/bnxt: remove a useless check in validate flow routine Ajit Khaparde
2019-10-08  9:03   ` Ferruh Yigit
2019-10-10  1:41     ` [dpdk-dev] [PATCH v2 00/12] bnxt patchset with bug fixes Ajit Khaparde
2019-10-10  1:41       ` Ajit Khaparde [this message]
2019-10-10  1:41       ` [dpdk-dev] [PATCH v2 02/12] net/bnxt: free default completion ring before VF configuration Ajit Khaparde
2019-10-10  1:41       ` [dpdk-dev] [PATCH v2 03/12] net/bnxt: return error if setting link up fail Ajit Khaparde
2019-10-10  1:41       ` [dpdk-dev] [PATCH v2 04/12] net/bnxt: remove redundant header file inclusion Ajit Khaparde
2019-10-10  1:41       ` [dpdk-dev] [PATCH v2 05/12] net/bnxt: update trusted VF status only when it changes Ajit Khaparde
2019-10-10  1:41       ` [dpdk-dev] [PATCH v2 06/12] net/bnxt: get the default HWRM command timeout from firmware Ajit Khaparde
2019-10-10  1:41       ` [dpdk-dev] [PATCH v2 07/12] net/bnxt: reduce cleanup time during reset recovery Ajit Khaparde
2019-10-10  1:41       ` [dpdk-dev] [PATCH v2 08/12] net/bnxt: change msix vector to queue mapping Ajit Khaparde
2019-10-10  1:41       ` [dpdk-dev] [PATCH v2 09/12] net/bnxt: enable interrupts after checking interface status from FW Ajit Khaparde
2019-10-10  1:41       ` [dpdk-dev] [PATCH v2 10/12] net/bnxt: fix to handle interface change status in port start only Ajit Khaparde
2019-10-10  1:41       ` [dpdk-dev] [PATCH v2 11/12] net/bnxt: fix coding style issues Ajit Khaparde
2019-10-10  1:41       ` [dpdk-dev] [PATCH v2 12/12] net/bnxt: remove unnecessary variable assignment Ajit Khaparde
2019-10-10 18:05       ` [dpdk-dev] [PATCH v2 00/12] bnxt patchset with bug fixes Ferruh Yigit

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191010014153.64908-2-ajit.khaparde@broadcom.com \
    --to=ajit.khaparde@broadcom.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=kalesh-anakkur.purayil@broadcom.com \
    --cc=somnath.kotur@broadcom.com \
    --cc=stable@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox