From patchwork Mon Aug 30 03:58:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kalesh A P X-Patchwork-Id: 97529 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0DA44A0547; Mon, 30 Aug 2021 05:37:43 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8CAE04068A; Mon, 30 Aug 2021 05:37:42 +0200 (CEST) Received: from relay.smtp-ext.broadcom.com (lpdvacalvio01.broadcom.com [192.19.166.228]) by mails.dpdk.org (Postfix) with ESMTP id 60FEB40142 for ; Mon, 30 Aug 2021 05:37:41 +0200 (CEST) Received: from dhcp-10-123-153-22.dhcp.broadcom.net (bgccx-dev-host-lnx2.bec.broadcom.net [10.123.153.22]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id 33735E5; Sun, 29 Aug 2021 20:37:38 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com 33735E5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1630294660; bh=qb7VMuiNDNGEhQGUk7deeeifTnbX7N0TrFHPSpNET70=; h=From:To:Cc:Subject:Date:From; b=ZXygTcwrBfd6rsXLVrZXfxH/ZAnEGhaG8trNdpKIz8anY3ATVn28r17DCCBzE+djl SpWJRTStTuOkNnnfzGShUoqXxTUH6RyQ/ELV0UpNfIQoRU5WA89A4PVLJWJmiCTs4F a6g2XEFphyE80/wLuq6wspAmWCX01cgBfQA0yvnY= From: Kalesh A P To: dev@dpdk.org Cc: ferruh.yigit@intel.com, ajit.khaparde@broadcom.com Date: Mon, 30 Aug 2021 09:28:11 +0530 Message-Id: <20210830035811.24206-1-kalesh-anakkur.purayil@broadcom.com> X-Mailer: git-send-email 2.10.1 Subject: [dpdk-dev] [PATCH] net/bnxt: fix ring group free X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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 Added an invalid fw_grp_id check inside bnxt_hwrm_ring_grp_free(). This will prevent invalid fw_grp_id to be passed to the FW which can result in an error. This fixes the following failure in the "port stop" -> "port start" sequence: bnxt_hwrm_ring_grp_free(): error 2:0:00000000:0204 bnxt_hwrm_ring_grp_free(): error 2:0:00000000:0204 Fixes: 5803d86b87df ("net/bnxt: update ring group after ring stop start") Cc: stable@dpdk.org Signed-off-by: Kalesh AP Reviewed-by: Ajit Khaparde Reviewed-by: Lance Richardson Reviewed-by: Somnath Kotur --- drivers/net/bnxt/bnxt_hwrm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index f29d574..d092fdc 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -1888,6 +1888,9 @@ int bnxt_hwrm_ring_grp_free(struct bnxt *bp, unsigned int idx) struct hwrm_ring_grp_free_input req = {.req_type = 0 }; struct hwrm_ring_grp_free_output *resp = bp->hwrm_cmd_resp_addr; + if (bp->grp_info[idx].fw_grp_id == INVALID_HW_RING_ID) + return 0; + HWRM_PREP(&req, HWRM_RING_GRP_FREE, BNXT_USE_CHIMP_MB); req.ring_group_id = rte_cpu_to_le_16(bp->grp_info[idx].fw_grp_id);