From patchwork Wed Nov 13 08:29:40 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Somnath Kotur X-Patchwork-Id: 62947 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 10926A0353; Wed, 13 Nov 2019 09:37:58 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3BE141BEFA; Wed, 13 Nov 2019 09:37:57 +0100 (CET) Received: from relay.smtp.broadcom.com (relay.smtp.broadcom.com [192.19.211.62]) by dpdk.org (Postfix) with ESMTP id 331E91BEF0 for ; Wed, 13 Nov 2019 09:37:56 +0100 (CET) Received: from dhcp-10-123-153-55.dhcp.broadcom.net (bgccx-dev-host-lnx35.bec.broadcom.net [10.123.153.55]) by relay.smtp.broadcom.com (Postfix) with ESMTP id 3063828D260; Wed, 13 Nov 2019 00:37:55 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 relay.smtp.broadcom.com 3063828D260 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1573634275; bh=nQHPrfcjkHQi7KgMbpFBgSpEEk3n628qQdQSO1oXyeU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pOQcRo/4I1rxP/XXPKZPnFPQ6KFwzunw1wmxecc5Y1FtpIeR9CIXDyLK879Y09rnV Qyl2Qsuncf4egDyTo4O/yZJesDn0l0VTXMZY1gt+/W4YltBdGOYMQ7QxFIqRHORrg/ n8K7oV6c5ofMcvwIppANGl5jjNnoBrXNsTQCCTKg= From: Somnath Kotur To: dev@dpdk.org Cc: ferruh.yigit@intel.com Date: Wed, 13 Nov 2019 13:59:40 +0530 Message-Id: <20191113082945.21277-2-somnath.kotur@broadcom.com> X-Mailer: git-send-email 2.10.1.613.g2cc2e70 In-Reply-To: <20191113082945.21277-1-somnath.kotur@broadcom.com> References: <20191113082945.21277-1-somnath.kotur@broadcom.com> Subject: [dpdk-dev] [PATCH 1/6] net/bnxt: add missing checks for fw 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") Signed-off-by: Kalesh AP Reviewed-by: Santoshkumar Karanappa Rastapur --- 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 b9b055e71..9aff38298 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -2063,8 +2063,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; @@ -2080,8 +2084,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 08:29:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Somnath Kotur X-Patchwork-Id: 62949 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 C3E0EA0353; Wed, 13 Nov 2019 09:38:13 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4FF121BF0E; Wed, 13 Nov 2019 09:38:03 +0100 (CET) Received: from relay.smtp.broadcom.com (unknown [192.19.211.62]) by dpdk.org (Postfix) with ESMTP id 659A01BEFA for ; Wed, 13 Nov 2019 09:37:56 +0100 (CET) Received: from dhcp-10-123-153-55.dhcp.broadcom.net (bgccx-dev-host-lnx35.bec.broadcom.net [10.123.153.55]) by relay.smtp.broadcom.com (Postfix) with ESMTP id 80FCF28D368; Wed, 13 Nov 2019 00:37:55 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 relay.smtp.broadcom.com 80FCF28D368 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1573634275; bh=/h5SERgnOlSO4JeLruTVSHbnhKGa7A89O7rOKE3O+dE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZakbjLKFboCSGVowxO1MnsDvSDPnfSOqnMbeuhKBoHjUSBbuQ3SBbucwbrR/KHGcc H7NwDH9tw72OeO3ymWpMCwVxIuc6ndv68kxwYvGhYPb1U76o5+ABBsXgKd6uZOnJFd R6a5A0KtSnyBP6MtcVhjgyupudUPuJYQNR7Rzg6I= From: Somnath Kotur To: dev@dpdk.org Cc: ferruh.yigit@intel.com Date: Wed, 13 Nov 2019 13:59:41 +0530 Message-Id: <20191113082945.21277-3-somnath.kotur@broadcom.com> X-Mailer: git-send-email 2.10.1.613.g2cc2e70 In-Reply-To: <20191113082945.21277-1-somnath.kotur@broadcom.com> References: <20191113082945.21277-1-somnath.kotur@broadcom.com> Subject: [dpdk-dev] [PATCH 2/6] net/bnxt: fix to 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" 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 9aff38298..3a45fb6c7 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -504,7 +504,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 08:29:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Somnath Kotur X-Patchwork-Id: 62950 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 8C173A0353; Wed, 13 Nov 2019 09:38:21 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E7B881BF19; Wed, 13 Nov 2019 09:38:06 +0100 (CET) Received: from relay.smtp.broadcom.com (unknown [192.19.211.62]) by dpdk.org (Postfix) with ESMTP id A212B1BEF0 for ; Wed, 13 Nov 2019 09:37:56 +0100 (CET) Received: from dhcp-10-123-153-55.dhcp.broadcom.net (bgccx-dev-host-lnx35.bec.broadcom.net [10.123.153.55]) by relay.smtp.broadcom.com (Postfix) with ESMTP id C837A28D9EE; Wed, 13 Nov 2019 00:37:55 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 relay.smtp.broadcom.com C837A28D9EE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1573634275; bh=YtOwHS8R9w57XOOFXrl52EWXltEP9ELI7EfVra8iw3k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vs9710EHsQb9jykUgavlq6HCiKdbn5B/g7gwRUxSkySvD8xkNQCVp7Lmae3e7wjac 0DtNO88QYVRW7txvrtxwzPWWQ8U1y2g/Ww8Awb1lux2nAgz/nnP6eNiqxHbBUbHtyd RKIQChKpifx4k94nnU9DlWMJc/YNIy661mWddjik= From: Somnath Kotur To: dev@dpdk.org Cc: ferruh.yigit@intel.com Date: Wed, 13 Nov 2019 13:59:42 +0530 Message-Id: <20191113082945.21277-4-somnath.kotur@broadcom.com> X-Mailer: git-send-email 2.10.1.613.g2cc2e70 In-Reply-To: <20191113082945.21277-1-somnath.kotur@broadcom.com> References: <20191113082945.21277-1-somnath.kotur@broadcom.com> Subject: [dpdk-dev] [PATCH 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 08:29:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Somnath Kotur X-Patchwork-Id: 62951 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 158F5A0353; Wed, 13 Nov 2019 09:38:30 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0DBA31BF21; Wed, 13 Nov 2019 09:38:09 +0100 (CET) Received: from relay.smtp.broadcom.com (relay.smtp.broadcom.com [192.19.211.62]) by dpdk.org (Postfix) with ESMTP id 011271BEF6 for ; Wed, 13 Nov 2019 09:37:57 +0100 (CET) Received: from dhcp-10-123-153-55.dhcp.broadcom.net (bgccx-dev-host-lnx35.bec.broadcom.net [10.123.153.55]) by relay.smtp.broadcom.com (Postfix) with ESMTP id 1AC2328DC92; Wed, 13 Nov 2019 00:37:56 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 relay.smtp.broadcom.com 1AC2328DC92 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1573634276; bh=rl0uNOtiXM5hZxcgl8VElA4BL8SsSV6w5QYmOxMiqLk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rqXQDkkHYRo6oXR6rplSqyd7z8c5VFJViRfwMZBR1qi7yytHXzgx5YS4fxyr2GBJI we5fCuVVJJverzR6paDyq7njCz1BxquXi1LJerXaeTRmrfWoX7wFYMid4bM3HDt6PA TM28NVeCmwLBqkV66n7RU4VdTOCWQ9iAm9bE4jU4= From: Somnath Kotur To: dev@dpdk.org Cc: ferruh.yigit@intel.com Date: Wed, 13 Nov 2019 13:59:43 +0530 Message-Id: <20191113082945.21277-5-somnath.kotur@broadcom.com> X-Mailer: git-send-email 2.10.1.613.g2cc2e70 In-Reply-To: <20191113082945.21277-1-somnath.kotur@broadcom.com> References: <20191113082945.21277-1-somnath.kotur@broadcom.com> Subject: [dpdk-dev] [PATCH 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" From: Ajit Khaparde 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 08:29:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Somnath Kotur X-Patchwork-Id: 62952 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 6E761A0353; Wed, 13 Nov 2019 09:38:38 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D62331BF2C; Wed, 13 Nov 2019 09:38:10 +0100 (CET) Received: from relay.smtp.broadcom.com (relay.smtp.broadcom.com [192.19.211.62]) by dpdk.org (Postfix) with ESMTP id 4F42F1BEFD for ; Wed, 13 Nov 2019 09:37:57 +0100 (CET) Received: from dhcp-10-123-153-55.dhcp.broadcom.net (bgccx-dev-host-lnx35.bec.broadcom.net [10.123.153.55]) by relay.smtp.broadcom.com (Postfix) with ESMTP id 6B51528CA4D; Wed, 13 Nov 2019 00:37:56 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 relay.smtp.broadcom.com 6B51528CA4D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1573634276; bh=II3g08oHQU4EoEarn5w2pOAF0Jv3XtywJCvQpYOmBDo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZBNQKBBLUqYnwjXzIXOBxmc3IEX2Rn8yHf2D7kkeHoPIwCk9b68NEYP/Rn5u+TX0y +DRloquQ8iAxHeWfhPTwPMUJ92ZNpE8r8UCwJs/SXmyODffQNdIMfbUhWDj25KNf02 XzdH1FRJbNSUEhievb1qzKlXW05esgUtx+NaRQfE= From: Somnath Kotur To: dev@dpdk.org Cc: ferruh.yigit@intel.com Date: Wed, 13 Nov 2019 13:59:44 +0530 Message-Id: <20191113082945.21277-6-somnath.kotur@broadcom.com> X-Mailer: git-send-email 2.10.1.613.g2cc2e70 In-Reply-To: <20191113082945.21277-1-somnath.kotur@broadcom.com> References: <20191113082945.21277-1-somnath.kotur@broadcom.com> Subject: [dpdk-dev] [PATCH 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: 9c3123170314 ("net/bnxt: fix redundant MAC address check") Signed-off-by: Venkat Duvvuru Reviewed-by: Somnath Kotur --- 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 3a45fb6c7..27bac8334 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -1020,7 +1020,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 08:29:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Somnath Kotur X-Patchwork-Id: 62953 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 B32E7A0353; Wed, 13 Nov 2019 09:38:44 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8AED91BF3F; Wed, 13 Nov 2019 09:38:12 +0100 (CET) Received: from relay.smtp.broadcom.com (relay.smtp.broadcom.com [192.19.211.62]) by dpdk.org (Postfix) with ESMTP id 9A1C01BF01 for ; Wed, 13 Nov 2019 09:37:57 +0100 (CET) Received: from dhcp-10-123-153-55.dhcp.broadcom.net (bgccx-dev-host-lnx35.bec.broadcom.net [10.123.153.55]) by relay.smtp.broadcom.com (Postfix) with ESMTP id BB9DD28DEB7; Wed, 13 Nov 2019 00:37:56 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.10.3 relay.smtp.broadcom.com BB9DD28DEB7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1573634276; bh=J2TIzWmkWyE/qfuvSkFcdRTvQQ+O7f33fgXJRX6Mu7U=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=s45Erg3IGEJm01Ejb4BDsRV5SMbNczpLmrU9kvLkv/wZHGDNXSHKbpCbbxGXwQ0IL /ZmlVD4VnYXuWKHMbtURjUqxUBFTBeWBMstUnP82x1E9ABUuqJrGidfR2ntfdUilmR 9wul32Od7KnVGbtNmyVO+mNylD76++Z8x5ihPWts= From: Somnath Kotur To: dev@dpdk.org Cc: ferruh.yigit@intel.com Date: Wed, 13 Nov 2019 13:59:45 +0530 Message-Id: <20191113082945.21277-7-somnath.kotur@broadcom.com> X-Mailer: git-send-email 2.10.1.613.g2cc2e70 In-Reply-To: <20191113082945.21277-1-somnath.kotur@broadcom.com> References: <20191113082945.21277-1-somnath.kotur@broadcom.com> Subject: [dpdk-dev] [PATCH 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" From: Ajit Khaparde 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: 9989027624c5 ("net/bnxt: fix RxQ start/stop for Thor based NIC") 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");