From patchwork Wed Nov 13 15:06:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 62962 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4672CA04C3; Wed, 13 Nov 2019 16:07:44 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B40672D13; Wed, 13 Nov 2019 16:07:20 +0100 (CET) Received: from rnd-relay.smtp.broadcom.com (rnd-relay.smtp.broadcom.com [192.19.229.170]) by dpdk.org (Postfix) with ESMTP id 96B522B9D for ; Wed, 13 Nov 2019 16:07:12 +0100 (CET) Received: from mail-irv-17.broadcom.com (mail-irv-17.lvn.broadcom.net [10.75.242.48]) by rnd-relay.smtp.broadcom.com (Postfix) with ESMTP id 6035330C032; Wed, 13 Nov 2019 07:03:55 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 rnd-relay.smtp.broadcom.com 6035330C032 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1573657435; bh=fokwAVUCdiOVqw8Dh4eY+WyGNUgmGuP3Ni/8uL/cdi0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aHe3Oxzr7pEGfAbWrHJBEYvEUeR9dxTV0vlM+6YTbPVU5OGFgrCd6Ilv5RTR31hVa 8z2M/Vmt9NP5N/YD1HnVtghcW56DKRu7Ubtpb4HE9bvuDT3lvP1cgiZmmhlbrYWp5e VNrG/s8mUJw9W3hboSYO6NUt01WJ0PTQM0YebJ38= Received: from localhost.localdomain (unknown [10.230.26.250]) by mail-irv-17.broadcom.com (Postfix) with ESMTP id C268014008B; Wed, 13 Nov 2019 07:07:05 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@intel.com, Kalesh AP , Santoshkumar Karanappa Rastapur Date: Wed, 13 Nov 2019 07:06:55 -0800 Message-Id: <20191113150700.2517-2-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.0 (Apple Git-122.2) In-Reply-To: <20191113150700.2517-1-ajit.khaparde@broadcom.com> References: <20191113082945.21277-1-somnath.kotur@broadcom.com> <20191113150700.2517-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 1/6] net/bnxt: add missing checks for firmware reset 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" From: Kalesh AP Driver should fail the eth_dev_ops callbacks and accessing Tx and Rx queues when device is in reset or in error state. Added missing checks for fw reset in few routines. Fixes: be14720def9c ("net/bnxt: support FW reset") Reviewed-by: Santoshkumar Karanappa Rastapur Signed-off-by: Kalesh AP Signed-off-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_ethdev.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index e39b87365..94dbe2f1d 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -2067,8 +2067,12 @@ static void bnxt_rxq_info_get_op(struct rte_eth_dev *dev, uint16_t queue_id, struct rte_eth_rxq_info *qinfo) { + struct bnxt *bp = dev->data->dev_private; struct bnxt_rx_queue *rxq; + if (is_bnxt_in_error(bp)) + return; + rxq = dev->data->rx_queues[queue_id]; qinfo->mp = rxq->mb_pool; @@ -2084,8 +2088,12 @@ static void bnxt_txq_info_get_op(struct rte_eth_dev *dev, uint16_t queue_id, struct rte_eth_txq_info *qinfo) { + struct bnxt *bp = dev->data->dev_private; struct bnxt_tx_queue *txq; + if (is_bnxt_in_error(bp)) + return; + txq = dev->data->tx_queues[queue_id]; qinfo->nb_desc = txq->nb_tx_desc; From patchwork Wed Nov 13 15:06:56 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 62963 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 43143A04C3; Wed, 13 Nov 2019 16:07:54 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 640933772; Wed, 13 Nov 2019 16:07:22 +0100 (CET) Received: from rnd-relay.smtp.broadcom.com (rnd-relay.smtp.broadcom.com [192.19.229.170]) by dpdk.org (Postfix) with ESMTP id 9B0032B9E for ; Wed, 13 Nov 2019 16:07:12 +0100 (CET) Received: from mail-irv-17.broadcom.com (mail-irv-17.lvn.broadcom.net [10.75.242.48]) by rnd-relay.smtp.broadcom.com (Postfix) with ESMTP id C24B430C049; Wed, 13 Nov 2019 07:03:55 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 rnd-relay.smtp.broadcom.com C24B430C049 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1573657435; bh=526aGcBejN4VldHuLbU6Z6jgG0vqEGUBeFM28851sI0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OSmuX2rHzNPgQSUnUvrAjv0BI8EqCBQ/5zVDx/vC14asaF9T6zgOhVoh230cpUjVq GHCCGTYzthH8zKA7sINHgj4rChVirPIl5WOsNdabyvij4GFAhOyutVwFdRGxtaCzBH G2vdcLr03hYvUy+BJDEAwBjEk7efF+vHb1mMlkec= Received: from localhost.localdomain (unknown [10.230.26.250]) by mail-irv-17.broadcom.com (Postfix) with ESMTP id 3D6E9140069; Wed, 13 Nov 2019 07:07:06 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@intel.com, Somnath Kotur , Rahul Gupta Date: Wed, 13 Nov 2019 07:06:56 -0800 Message-Id: <20191113150700.2517-3-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.0 (Apple Git-122.2) In-Reply-To: <20191113150700.2517-1-ajit.khaparde@broadcom.com> References: <20191113082945.21277-1-somnath.kotur@broadcom.com> <20191113150700.2517-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 2/6] net/bnxt: cap queue count for NS3/Stingray devices 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" From: Somnath Kotur Cap max queue count to 128 for NS3 devices and ensure that same count is reported as part of dev_info_get_op as well Signed-off-by: Somnath Kotur Reviewed-by: Rahul Gupta --- drivers/net/bnxt/bnxt.h | 7 +++++++ drivers/net/bnxt/bnxt_ethdev.c | 2 +- drivers/net/bnxt/bnxt_rxq.c | 2 +- drivers/net/bnxt/bnxt_txq.c | 2 +- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h index 9901ba902..e259c8239 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -608,6 +608,13 @@ struct bnxt { uint16_t max_cp_rings; uint16_t max_tx_rings; uint16_t max_rx_rings; +#define MAX_STINGRAY_RINGS 128U +#define BNXT_MAX_RINGS(bp) \ + (BNXT_STINGRAY(bp) ? RTE_MIN(RTE_MIN(bp->max_rx_rings, \ + MAX_STINGRAY_RINGS), \ + bp->max_stat_ctx) : \ + RTE_MIN(bp->max_rx_rings, bp->max_stat_ctx)) + uint16_t max_nq_rings; uint16_t max_l2_ctx; uint16_t max_rx_em_flows; diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 94dbe2f1d..b00966942 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -505,7 +505,7 @@ static int bnxt_dev_info_get_op(struct rte_eth_dev *eth_dev, if (BNXT_PF(bp)) dev_info->max_vfs = pdev->max_vfs; - max_rx_rings = RTE_MIN(bp->max_rx_rings, bp->max_stat_ctx); + max_rx_rings = BNXT_MAX_RINGS(bp); /* For the sake of symmetry, max_rx_queues = max_tx_queues */ dev_info->max_rx_queues = max_rx_rings; dev_info->max_tx_queues = max_rx_rings; diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c index e7c012f68..fa11bec4e 100644 --- a/drivers/net/bnxt/bnxt_rxq.c +++ b/drivers/net/bnxt/bnxt_rxq.c @@ -296,7 +296,7 @@ int bnxt_rx_queue_setup_op(struct rte_eth_dev *eth_dev, if (rc) return rc; - if (queue_idx >= bp->max_rx_rings) { + if (queue_idx >= BNXT_MAX_RINGS(bp)) { PMD_DRV_LOG(ERR, "Cannot create Rx ring %d. Only %d rings available\n", queue_idx, bp->max_rx_rings); diff --git a/drivers/net/bnxt/bnxt_txq.c b/drivers/net/bnxt/bnxt_txq.c index 6b866d445..2d7645eeb 100644 --- a/drivers/net/bnxt/bnxt_txq.c +++ b/drivers/net/bnxt/bnxt_txq.c @@ -90,7 +90,7 @@ int bnxt_tx_queue_setup_op(struct rte_eth_dev *eth_dev, if (rc) return rc; - if (queue_idx >= bp->max_tx_rings) { + if (queue_idx >= BNXT_MAX_RINGS(bp)) { PMD_DRV_LOG(ERR, "Cannot create Tx ring %d. Only %d rings available\n", queue_idx, bp->max_tx_rings); From patchwork Wed Nov 13 15:06:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 62960 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B1C3FA04C3; Wed, 13 Nov 2019 16:07:22 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 88AE12BC7; Wed, 13 Nov 2019 16:07:16 +0100 (CET) Received: from rnd-relay.smtp.broadcom.com (rnd-relay.smtp.broadcom.com [192.19.229.170]) by dpdk.org (Postfix) with ESMTP id 9365D2B8B for ; Wed, 13 Nov 2019 16:07:12 +0100 (CET) Received: from mail-irv-17.broadcom.com (mail-irv-17.lvn.broadcom.net [10.75.242.48]) by rnd-relay.smtp.broadcom.com (Postfix) with ESMTP id 3BC4E30C050; Wed, 13 Nov 2019 07:03:56 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 rnd-relay.smtp.broadcom.com 3BC4E30C050 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1573657436; bh=JKEe/iuxNZ4v1Fqm9GwYT5bs/xKyJwqfikzUroTYwSM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CPsJCRpQLAexQ4t8XDuwu5Q5qblRIN8nUx7wpuBpivaCRr4XjyDS4h30gj/7yjfEl pGvhIrNqOzB9E1hL3nTHzgJbgHqGK9PcV78BUARlj+MDOV1zXLTEH/sSk4zYZSGW/C 44FF53YOxMq5afbH3CKoUiortePFrEF0NPFMvXJo= Received: from localhost.localdomain (unknown [10.230.26.250]) by mail-irv-17.broadcom.com (Postfix) with ESMTP id AAB9C14008B; Wed, 13 Nov 2019 07:07:06 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@intel.com, Rahul Gupta , Somnath Kotur Date: Wed, 13 Nov 2019 07:06:57 -0800 Message-Id: <20191113150700.2517-4-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.0 (Apple Git-122.2) In-Reply-To: <20191113150700.2517-1-ajit.khaparde@broadcom.com> References: <20191113082945.21277-1-somnath.kotur@broadcom.com> <20191113150700.2517-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 3/6] net/bnxt: fix flow creation with non-consecutive group ids 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" From: Rahul Gupta In non-RSS mode, vnics map 1:1 with Rx queues during init. This can create problems if non-consecutive group IDs are given as part of subsequent flow create cmds as they can end up pointing to Rx queues (mapped during init) that are different than the intended destination queue as specified in the flow create cmd. To fix this, now that we have the ability to dynamically create vnics, do not create any additional vnics other than the default vnic during init. Allocate them only during flow/filter creation time. When RSS is disabled we need to use the COS queue count queried from firmware. Fixes: 36024b2e7fe5 ("net/bnxt: allow dynamic creation of VNIC") Signed-off-by: Rahul Gupta Reviewed-by: Somnath Kotur --- drivers/net/bnxt/bnxt_flow.c | 4 +--- drivers/net/bnxt/bnxt_rxq.c | 5 ++++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/bnxt/bnxt_flow.c b/drivers/net/bnxt/bnxt_flow.c index 8f386cdf1..5af571448 100644 --- a/drivers/net/bnxt/bnxt_flow.c +++ b/drivers/net/bnxt/bnxt_flow.c @@ -1093,9 +1093,7 @@ bnxt_validate_and_parse_flow(struct rte_eth_dev *dev, vnic->fw_vnic_id != INVALID_HW_RING_ID) goto use_vnic; - if (!rxq || - bp->vnic_info[0].fw_grp_ids[act_q->index] != - INVALID_HW_RING_ID) { + if (!rxq) { PMD_DRV_LOG(ERR, "Queue invalid or used with other VNIC\n"); rte_flow_error_set(error, diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c index fa11bec4e..7fd079da3 100644 --- a/drivers/net/bnxt/bnxt_rxq.c +++ b/drivers/net/bnxt/bnxt_rxq.c @@ -35,7 +35,7 @@ int bnxt_mq_rx_configure(struct bnxt *bp) int start_grp_id, end_grp_id = 1, rc = 0; struct bnxt_vnic_info *vnic; struct bnxt_filter_info *filter; - enum rte_eth_nb_pools pools = bp->rx_cp_nr_rings, max_pools = 0; + enum rte_eth_nb_pools pools = 1, max_pools = 0; struct bnxt_rx_queue *rxq; bp->nr_vnics = 0; @@ -100,7 +100,10 @@ int bnxt_mq_rx_configure(struct bnxt *bp) rc = -EINVAL; goto err_out; } + } else if (!dev_conf->rxmode.mq_mode) { + pools = bp->rx_cosq_cnt ? bp->rx_cosq_cnt : pools; } + nb_q_per_grp = bp->rx_cp_nr_rings / pools; bp->rx_num_qs_per_vnic = nb_q_per_grp; PMD_DRV_LOG(DEBUG, "pools = %u nb_q_per_grp = %u\n", From patchwork Wed Nov 13 15:06:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 62961 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E4EC6A04C3; Wed, 13 Nov 2019 16:07:30 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AF6882C16; Wed, 13 Nov 2019 16:07:18 +0100 (CET) Received: from rnd-relay.smtp.broadcom.com (rnd-relay.smtp.broadcom.com [192.19.229.170]) by dpdk.org (Postfix) with ESMTP id 8E5E7B62; Wed, 13 Nov 2019 16:07:12 +0100 (CET) Received: from mail-irv-17.broadcom.com (mail-irv-17.lvn.broadcom.net [10.75.242.48]) by rnd-relay.smtp.broadcom.com (Postfix) with ESMTP id AAA1830C038; Wed, 13 Nov 2019 07:03:56 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 rnd-relay.smtp.broadcom.com AAA1830C038 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1573657436; bh=fP5RUZXQRoTRhxrM2t+gF0Y/nMbFKuWYj6yL8yQkiNo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vG/eRKCRXpYgZlsGoEOxQJSuaxW42SwL4PE/6Lai3UOTCi+m+qcMnvpsnR1BkMwmi gjqN9Mer92Ql55d0KZLQ0pP+3/zE4jKhqUAaVBTWIv4nqHmnKP6flMnRUuUbi9roEA 7BzPO/LwyHjHiD2FkDIiooE3bErFUhNOwCUXjEsk= Received: from localhost.localdomain (unknown [10.230.26.250]) by mail-irv-17.broadcom.com (Postfix) with ESMTP id 249A1140069; Wed, 13 Nov 2019 07:07:07 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@intel.com, stable@dpdk.org, Andy Gospodarek Date: Wed, 13 Nov 2019 07:06:58 -0800 Message-Id: <20191113150700.2517-5-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.0 (Apple Git-122.2) In-Reply-To: <20191113150700.2517-1-ajit.khaparde@broadcom.com> References: <20191113082945.21277-1-somnath.kotur@broadcom.com> <20191113150700.2517-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 4/6] net/bnxt: fix a potential segfault in xstats get 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" We would hit a segfault in bnxt_dev_xstats_get_op() if xstats argument is NULL, Check if the argument is NULL and return appropriately. Fixes: bfb9c2260be2 ("net/bnxt: support xstats get/reset") Cc: stable@dpdk.org Signed-off-by: Ajit Khaparde Reviewed-by: Andy Gospodarek --- drivers/net/bnxt/bnxt_stats.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/bnxt/bnxt_stats.c b/drivers/net/bnxt/bnxt_stats.c index 40b496ac0..14d355fd0 100644 --- a/drivers/net/bnxt/bnxt_stats.c +++ b/drivers/net/bnxt/bnxt_stats.c @@ -468,6 +468,9 @@ int bnxt_dev_xstats_get_op(struct rte_eth_dev *eth_dev, if (rc) return rc; + if (xstats == NULL) + return 0; + memset(xstats, 0, sizeof(*xstats)); bnxt_hwrm_port_qstats(bp); From patchwork Wed Nov 13 15:06:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 62964 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 660BCA04C3; Wed, 13 Nov 2019 16:08:09 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F236649E0; Wed, 13 Nov 2019 16:07:24 +0100 (CET) Received: from rnd-relay.smtp.broadcom.com (rnd-relay.smtp.broadcom.com [192.19.229.170]) by dpdk.org (Postfix) with ESMTP id A8235B62 for ; Wed, 13 Nov 2019 16:07:13 +0100 (CET) Received: from mail-irv-17.broadcom.com (mail-irv-17.lvn.broadcom.net [10.75.242.48]) by rnd-relay.smtp.broadcom.com (Postfix) with ESMTP id CA17330C040; Wed, 13 Nov 2019 07:03:56 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 rnd-relay.smtp.broadcom.com CA17330C040 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1573657436; bh=TZCfw6ae4DVAdNGCkWPZjREfL3FcPuYetDgd+OnRy/4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=C5NeIBDZ3Pyc2fiYu6/WUNZksaRDArCM0uhOdeEak1aEqa1uT55gZkzpmSpqD3IMa 7RPRwtiYDoCU+PAIRlOEZSFBmAYUe+LAybugMBYKM9dEfVO2aqOHRT9BeSfJPorf0R 9k+h7u0NwY3IRv4ouOGVA1rWpUCRp6TPwMFupjqA= Received: from localhost.localdomain (unknown [10.230.26.250]) by mail-irv-17.broadcom.com (Postfix) with ESMTP id 928B514008B; Wed, 13 Nov 2019 07:07:07 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@intel.com, Venkat Duvvuru , Somnath Kotur Date: Wed, 13 Nov 2019 07:06:59 -0800 Message-Id: <20191113150700.2517-6-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.0 (Apple Git-122.2) In-Reply-To: <20191113150700.2517-1-ajit.khaparde@broadcom.com> References: <20191113082945.21277-1-somnath.kotur@broadcom.com> <20191113150700.2517-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 5/6] net/bnxt: change print message type from ERR to DEBUG 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" From: Venkat Duvvuru When an existing mac_addr is tried to get programmed again, a message is displayed that the mac_addr already exists. However the message is of type ERR. This patch changes the message to type DEBUG Fixes: 938a87db4324 ("net/bnxt: fix redundant MAC address check") Signed-off-by: Venkat Duvvuru Reviewed-by: Somnath Kotur Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index b00966942..393706b80 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -1024,7 +1024,7 @@ static int bnxt_add_mac_filter(struct bnxt *bp, struct bnxt_vnic_info *vnic, /* Attach requested MAC address to the new l2_filter */ STAILQ_FOREACH(filter, &vnic->filter, next) { if (filter->mac_index == index) { - PMD_DRV_LOG(ERR, + PMD_DRV_LOG(DEBUG, "MAC addr already existed for pool %d\n", pool); return 0; From patchwork Wed Nov 13 15:07:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 62965 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id AC6F8A04C3; Wed, 13 Nov 2019 16:08:19 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4B9D14CA6; Wed, 13 Nov 2019 16:07:26 +0100 (CET) Received: from rnd-relay.smtp.broadcom.com (rnd-relay.smtp.broadcom.com [192.19.229.170]) by dpdk.org (Postfix) with ESMTP id A624C271 for ; Wed, 13 Nov 2019 16:07:13 +0100 (CET) Received: from mail-irv-17.broadcom.com (mail-irv-17.lvn.broadcom.net [10.75.242.48]) by rnd-relay.smtp.broadcom.com (Postfix) with ESMTP id 8761830C01C; Wed, 13 Nov 2019 07:03:57 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 rnd-relay.smtp.broadcom.com 8761830C01C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1573657437; bh=Q/RV4kso7DEQ6CcjXZLhzDW/kyKn9SUxx8MYJPKIIrI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oC7aDyIH2UoWwFpp+VOIvrIe/fA2pcgv/HZek7S6Nbg4af+rGJlkbZkOqGKBqwcpn 0NNz1g4ArU8gOy9Aky80VL9JfFUFXqM4pnYuqeBXhm+EiXVUzDXFtFTZzxX+AKJbx4 scHeHeNI8jHxidLJv+a5NTWnmQ83ojGRVKzolv8A= Received: from localhost.localdomain (unknown [10.230.26.250]) by mail-irv-17.broadcom.com (Postfix) with ESMTP id 0DCAE140069; Wed, 13 Nov 2019 07:07:08 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@intel.com, Somnath Kotur Date: Wed, 13 Nov 2019 07:07:00 -0800 Message-Id: <20191113150700.2517-7-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.0 (Apple Git-122.2) In-Reply-To: <20191113150700.2517-1-ajit.khaparde@broadcom.com> References: <20191113082945.21277-1-somnath.kotur@broadcom.com> <20191113150700.2517-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 6/6] net/bnxt: fix potential NULL pointer dereference 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" Null-checking "rxq" suggests that it may be null, but it has already been dereferenced on all paths leading to the check. Refactored the code to address this issue. Coverity issue: 350594 Fixes: fc4bfea59696 ("net/bnxt: fix Rx queue start/stop for Thor based NICs") Signed-off-by: Ajit Khaparde Reviewed-by: Somnath Kotur --- drivers/net/bnxt/bnxt_rxq.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/net/bnxt/bnxt_rxq.c b/drivers/net/bnxt/bnxt_rxq.c index 7fd079da3..94f105d34 100644 --- a/drivers/net/bnxt/bnxt_rxq.c +++ b/drivers/net/bnxt/bnxt_rxq.c @@ -515,13 +515,18 @@ int bnxt_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id) } rxq = bp->rx_queues[rx_queue_id]; - vnic = rxq->vnic; - - if (!rxq || !vnic) { + if (!rxq) { PMD_DRV_LOG(ERR, "Invalid Rx queue %d\n", rx_queue_id); return -EINVAL; } + vnic = rxq->vnic; + if (!vnic) { + PMD_DRV_LOG(ERR, "VNIC not initialized for RxQ %d\n", + rx_queue_id); + return -EINVAL; + } + dev->data->rx_queue_state[rx_queue_id] = RTE_ETH_QUEUE_STATE_STOPPED; rxq->rx_started = false; PMD_DRV_LOG(DEBUG, "Rx queue stopped\n");