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 B06CFA050F for ; Wed, 18 Dec 2019 07:24:47 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 310502C52; Wed, 18 Dec 2019 07:24:46 +0100 (CET) Received: from relay.smtp.broadcom.com (relay.smtp.broadcom.com [192.19.211.62]) by dpdk.org (Postfix) with ESMTP id 35CFB2BF9 for ; Wed, 18 Dec 2019 07:24:44 +0100 (CET) Received: from dhcp-10-123-153-55.dhcp.broadcom.net (dhcp-10-123-153-55.dhcp.broadcom.net [10.123.153.55]) by relay.smtp.broadcom.com (Postfix) with ESMTP id 6B0CE28FA4F; Tue, 17 Dec 2019 22:24:43 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 relay.smtp.broadcom.com 6B0CE28FA4F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1576650283; bh=0MCS5JLpK+gmSNgGWhTLPeQRB2dgYPaoBHzfJKxrOq0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LBnGl5V95gXsUviYhSMGyu9VNbxbms06oR9Fg3eOeCE4qF8kFecB/NlN7a6xCjLGX q13iMS5C5G5peUBOiD7warlHMNJ6Q16aZ6VcV/LQIUgtbLmFqXYPOuPExam8vOBB1j 3hcxaDbQkE9cHecuQzx7zYB5+nJzh3yNpzIzpkQg= From: Somnath Kotur To: stable@dpdk.org Cc: ktraynor@redhat.com Date: Wed, 18 Dec 2019 11:53:56 +0530 Message-Id: <20191218062411.13079-5-somnath.kotur@broadcom.com> X-Mailer: git-send-email 2.10.1.613.g2cc2e70 In-Reply-To: <20191218062411.13079-1-somnath.kotur@broadcom.com> References: <20191218062411.13079-1-somnath.kotur@broadcom.com> Subject: [dpdk-stable] [PATCH 18.11 04/19] net/bnxt: fix stats errors handling X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" From: Kalesh AP 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") Signed-off-by: Kalesh AP Reviewed-by: Somnath Kotur Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_stats.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/drivers/net/bnxt/bnxt_stats.c b/drivers/net/bnxt/bnxt_stats.c index 252a0a6..497da0b 100644 --- a/drivers/net/bnxt/bnxt_stats.c +++ b/drivers/net/bnxt/bnxt_stats.c @@ -387,7 +387,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, @@ -418,8 +418,6 @@ int bnxt_stats_get_op(struct rte_eth_dev *eth_dev, return rc; } rc = bnxt_hwrm_func_qstats(bp, 0xffff, bnxt_stats); - if (unlikely(rc)) - return rc; return rc; } @@ -585,16 +583,20 @@ int bnxt_dev_xstats_get_names_op(__rte_unused struct rte_eth_dev *eth_dev, void bnxt_dev_xstats_reset_op(struct rte_eth_dev *eth_dev) { struct bnxt *bp = eth_dev->data->dev_private; + int ret; - if (bp->flags & BNXT_FLAG_PORT_STATS && BNXT_SINGLE_PF(bp)) - bnxt_hwrm_port_clr_stats(bp); - - if (BNXT_VF(bp)) - PMD_DRV_LOG(ERR, "Operation not supported on a VF device\n"); - if (!BNXT_SINGLE_PF(bp)) - PMD_DRV_LOG(ERR, "Operation not supported on a MF device\n"); - 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"); + return; + } + + ret = bnxt_hwrm_port_clr_stats(bp); + if (ret != 0) + PMD_DRV_LOG(ERR, "Failed to reset xstats: %s\n", + strerror(-ret)); + + return; } int bnxt_dev_xstats_get_by_id_op(struct rte_eth_dev *dev, const uint64_t *ids, @@ -616,7 +618,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]]; } @@ -644,7 +646,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.10.1