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 A7B80A04F3 for ; Thu, 19 Dec 2019 15:37:22 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 999711BE9D; Thu, 19 Dec 2019 15:37:22 +0100 (CET) Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by dpdk.org (Postfix) with ESMTP id 65EEF1BF76 for ; Thu, 19 Dec 2019 15:37:21 +0100 (CET) Received: by mail-wm1-f67.google.com with SMTP id f129so5857948wmf.2 for ; Thu, 19 Dec 2019 06:37:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+4/50EBTUrHJRAaURP57drSyxYGxHvW2OLI74hfUVfY=; b=nKJ0I9ZXH80lok7pl1m61RN844/L1tDiYguWzl2FDduT+Jod+ZTYxg+hWHC18t6gMT EEut3TMz8cdIdHphDhCmNpw6JVNv8/r2REcN+HTtrO/F7PkHMgtZKD4ip+M1XWdY3xmy 9h+QJFHuFADkrmuiy2DJ8xxyLgYELQP3BxYCm0uJ1yfAm2Ycs3v7HY1oskkXFls/iQ+7 OSiglRD6Su4mx9cc6nY+mIigWAsqGiYZ9iaJGbC/wHfmc2Bp5OUZ9igTbmR61I+yGmMA F+DkNdKLWO3WltbZ3kjjQvnhc8Pct5jSTORJfAOnXjlyNbqf0MJuGaB5HAMuKGJ60oGX 9c8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+4/50EBTUrHJRAaURP57drSyxYGxHvW2OLI74hfUVfY=; b=iKeXuKI/HwsqSWlfb0/xFmOEa4XKX8zhvz5rsxfEflNbuvSQSko072EaTHt8x4LJy4 ltETMGfcH21E4wcMJgS0Y6pPxClorwJR+BvVJvocpfEcoe592KE8/TipbJ3q1xGr0d2i /J73iCyw5XWxdlNL+yAnkaZeeoZ1jx7Ip9xusqLnAxLgEP49vPNQoD1/uX8BcmsS2prO abEyo+XYDSXipvC4Zw223kQ1nmF1ipsQLLeel7MOmwrPX4Z3uofhr2f5dj8zSuFyxDUj o5wCZmPaEStoyUINZjQkFvIWWM8HZEOKlMBaOwyYYoW6Wd3B6OH5XdM5Q2UmF6sH7vdU f9pQ== X-Gm-Message-State: APjAAAWDPwE3vNhq+/DnWV0yPx/XU00YZ6w7WAlPJD6MhHtri6tgPQ9f i7DsF/NRU4fh8kovliRMoG4= X-Google-Smtp-Source: APXvYqzLXkNfrIHeUkAhRKM61HCgPzLSpI2lZ+omJq8lvWTsnQDgSYwLwXzoHdgcbbSnaFzL0zkGPQ== X-Received: by 2002:a7b:c389:: with SMTP id s9mr10487399wmj.7.1576766241108; Thu, 19 Dec 2019 06:37:21 -0800 (PST) Received: from localhost ([88.98.246.218]) by smtp.gmail.com with ESMTPSA id o4sm6451057wrw.97.2019.12.19.06.37.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Dec 2019 06:37:20 -0800 (PST) From: luca.boccassi@gmail.com To: Kalesh AP Cc: Somnath Kotur , Ajit Khaparde , dpdk stable Date: Thu, 19 Dec 2019 14:33:26 +0000 Message-Id: <20191219143447.21506-59-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191219143447.21506-1-luca.boccassi@gmail.com> References: <20191219143447.21506-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/bnxt: fix stats errors handling' has been queued to LTS release 17.11.10 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" Hi, FYI, your patch has been queued to LTS release 17.11.10 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 12/21/19. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Thanks. Luca Boccassi --- >From ed1b2592aee44b786ac897651e9e5fc7ed350e9c Mon Sep 17 00:00:00 2001 From: Kalesh AP Date: Wed, 9 Oct 2019 18:41:42 -0700 Subject: [PATCH] net/bnxt: fix stats errors handling [ upstream commit 9f55e6ac7500e828d42e95100d5cb061e912be5c ] 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 | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/net/bnxt/bnxt_stats.c b/drivers/net/bnxt/bnxt_stats.c index f8bb4ed9e5..6497926162 100644 --- a/drivers/net/bnxt/bnxt_stats.c +++ b/drivers/net/bnxt/bnxt_stats.c @@ -360,16 +360,17 @@ 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 = (struct bnxt *)eth_dev->data->dev_private; + int ret; - if (bp->flags & BNXT_FLAG_PORT_STATS && !BNXT_NPAR_PF(bp)) - bnxt_hwrm_port_clr_stats(bp); - - if (BNXT_VF(bp)) - RTE_LOG(ERR, PMD, "Operation not supported on a VF device\n"); - if (BNXT_NPAR_PF(bp)) - RTE_LOG(ERR, PMD, "Operation not supported on a MF device\n"); - if (!(bp->flags & BNXT_FLAG_PORT_STATS)) + if (BNXT_VF(bp) || !BNXT_NPAR_PF(bp) || + !(bp->flags & BNXT_FLAG_PORT_STATS)) { RTE_LOG(ERR, PMD, "Operation not supported\n"); + } + + ret = bnxt_hwrm_port_clr_stats(bp); + if (ret != 0) + RTE_LOG(ERR, PMD, "Failed to reset xstats: %s\n", + strerror(-ret)); } int bnxt_dev_xstats_get_by_id_op(struct rte_eth_dev *dev, const uint64_t *ids, @@ -389,7 +390,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) { RTE_LOG(ERR, PMD, "id value isn't valid"); - return -1; + return -EINVAL; } values[i] = values_copy[ids[i]]; } @@ -415,7 +416,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) { RTE_LOG(ERR, PMD, "id value isn't valid"); - return -1; + return -EINVAL; } strcpy(xstats_names[i].name, xstats_names_copy[ids[i]].name); -- 2.20.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2019-12-19 14:32:28.664004493 +0000 +++ 0059-net-bnxt-fix-stats-errors-handling.patch 2019-12-19 14:32:26.109297904 +0000 @@ -1,8 +1,10 @@ -From 9f55e6ac7500e828d42e95100d5cb061e912be5c Mon Sep 17 00:00:00 2001 +From ed1b2592aee44b786ac897651e9e5fc7ed350e9c Mon Sep 17 00:00:00 2001 From: Kalesh AP Date: Wed, 9 Oct 2019 18:41:42 -0700 Subject: [PATCH] net/bnxt: fix stats errors handling +[ upstream commit 9f55e6ac7500e828d42e95100d5cb061e912be5c ] + This patch fixes few checks and few return values while getting and clearing device statistics. @@ -12,90 +14,57 @@ 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 Reviewed-by: Somnath Kotur Reviewed-by: Ajit Khaparde --- - drivers/net/bnxt/bnxt_stats.c | 36 +++++++++++------------------------ - 1 file changed, 11 insertions(+), 25 deletions(-) + drivers/net/bnxt/bnxt_stats.c | 21 +++++++++++---------- + 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/net/bnxt/bnxt_stats.c b/drivers/net/bnxt/bnxt_stats.c -index 21012e1fee..f486a5634b 100644 +index f8bb4ed9e5..6497926162 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; - } +@@ -360,16 +360,17 @@ 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 = (struct bnxt *)eth_dev->data->dev_private; ++ int ret; -@@ -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 (bp->flags & BNXT_FLAG_PORT_STATS && !BNXT_NPAR_PF(bp)) +- bnxt_hwrm_port_clr_stats(bp); - -- 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) || +- if (BNXT_VF(bp)) +- RTE_LOG(ERR, PMD, "Operation not supported on a VF device\n"); +- if (BNXT_NPAR_PF(bp)) +- RTE_LOG(ERR, PMD, "Operation not supported on a MF device\n"); +- if (!(bp->flags & BNXT_FLAG_PORT_STATS)) ++ if (BNXT_VF(bp) || !BNXT_NPAR_PF(bp) || + !(bp->flags & BNXT_FLAG_PORT_STATS)) { - PMD_DRV_LOG(ERR, "Operation not supported\n"); - ret = -ENOTSUP; - } - + RTE_LOG(ERR, PMD, "Operation not supported\n"); ++ } ++ + ret = bnxt_hwrm_port_clr_stats(bp); + if (ret != 0) -+ PMD_DRV_LOG(ERR, "Failed to reset xstats: %s\n", ++ RTE_LOG(ERR, PMD, "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, + int bnxt_dev_xstats_get_by_id_op(struct rte_eth_dev *dev, const uint64_t *ids, +@@ -389,7 +390,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"); + RTE_LOG(ERR, PMD, "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, +@@ -415,7 +416,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"); + RTE_LOG(ERR, PMD, "id value isn't valid"); - return -1; + return -EINVAL; }