From patchwork Thu Feb 8 17:13:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 136545 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 6D73043AE1; Thu, 8 Feb 2024 18:13:57 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B97A042E5E; Thu, 8 Feb 2024 18:13:43 +0100 (CET) Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) by mails.dpdk.org (Postfix) with ESMTP id 2A61A42E4D for ; Thu, 8 Feb 2024 18:13:41 +0100 (CET) Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-6e05b72fd56so30420b3a.2 for ; Thu, 08 Feb 2024 09:13:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1707412420; x=1708017220; darn=dpdk.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=mj5vEQQOzBEdC9+xHzt3/ioxaEWRSawGwj+IicIFHio=; b=F0ZauDgN/FIAqmLWjfnslYXUPRYp6fafUofQsC/3FD4mGysvkGblk4ruuoPcHuJ/RR C9697TviyTqJzA4v+gK6klZ+danmlVAqxLpETuK7SJUU9hf0p1M2F8DVJCC2+aT3C1Vb tJSvp2nN0i70JZZfjwwlULP/xTgGStXOcmbto= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707412420; x=1708017220; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=mj5vEQQOzBEdC9+xHzt3/ioxaEWRSawGwj+IicIFHio=; b=wpD+/Dm0NOXdjoPM+C58VaWWa42IzS+NAj9u3ae/PKrpjccW0M9hFiBH2o7fZ6XSF3 e4xU/szsDodRFkfKfhXOGMy3xwTs+4zXFGad5zVefL2XdnLgoMH/tNdIpbYuvZgCDx/C Quj0RF2lMRLAZCRt7zDYXiIZTuRqx06ozfESBQeXAVHl2egVKxu05qf3hzNT6RfUPXRi azRNgozrqlVK68kwA7LLsBI+ViXL3kJcOjQFozNr5Adqssi1EB3VmuiPQzfDAdQCPEda rMNHCQplLXM1iDGP8/fYUqnDQ3Kk84DkB8ThSOnxQqzeUrf+FeKOQ2gxt9QpJDaHi31g q+Kg== X-Gm-Message-State: AOJu0YxMIEHMn/SJMVY9tw83G1VH6ptUgwJIElWlRvEw2UNfqxjf8Yr8 /nssBGB0Upx/xuKURSTPnbTsRGAGKIabvRztnOPapz4qBz7kcHoPkAuBOStjHdJDvEN7/YB1xN4 EPWw6YZm8P8GYOeRfdEzLTiksBr4FvcJHmXMNWF/N0OI5cKofCj3FdNQCU2tf48xKI34sElPZes iECWWT3jXMJmFnf10RIDm+AcWknu4Y X-Google-Smtp-Source: AGHT+IG17ya8q8YCFGqfB9Iyq1nOSjhGi0iISaWasrYP+LVHAnD12Fbnlsq9PqD1jDRK/g7vUJ+H1w== X-Received: by 2002:a05:6a20:7d98:b0:19e:30b2:bee0 with SMTP id v24-20020a056a207d9800b0019e30b2bee0mr262705pzj.34.1707412419824; Thu, 08 Feb 2024 09:13:39 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCUipEqlA+jQ9x24hqA5GmsPzZoUb2oDMtTEL6sBFf708CiS8p7+NR3ar+KwBdbzjofIGEejslF12OHiQw9dOwVLDqKSIddoX3WYfH5TseSu Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id p15-20020aa79e8f000000b006e0527ffe88sm3966204pfq.213.2024.02.08.09.13.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Feb 2024 09:13:38 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: Kalesh AP , Kishore Padmanabha Subject: [PATCH 3/7] net/bnxt: refactor VNIC context cleanup Date: Thu, 8 Feb 2024 09:13:26 -0800 Message-Id: <20240208171330.31139-4-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240208171330.31139-1-ajit.khaparde@broadcom.com> References: <20240208171330.31139-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 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 Currently the VNIC context cleanup is being called a little early leading to the VNIC RSS context being freed prior to the filter cleanup corresponding to the VNIC. But since these filters could still be referenced by the default VNIC the hardware fails to find the corresponding VNIC context in some rare cases. Modify the cleanup sequence for the VNICs to free the VNIC contexts after the filters and the actual VNIC is freed up in the firmware. Also make sure to clear the rx_mask with mask of 0 for default VNIC. Signed-off-by: Ajit Khaparde Reviewed-by: Kalesh AP Reviewed-by: Kishore Padmanabha --- drivers/net/bnxt/bnxt_hwrm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 17527a3c4d..397b4a0e05 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -3570,16 +3570,18 @@ void bnxt_free_all_hwrm_resources(struct bnxt *bp) if (vnic->fw_vnic_id == INVALID_HW_RING_ID) continue; + if (vnic->func_default && (bp->flags & BNXT_FLAG_DFLT_VNIC_SET)) + bnxt_hwrm_cfa_l2_clear_rx_mask(bp, vnic); bnxt_clear_hwrm_vnic_flows(bp, vnic); bnxt_clear_hwrm_vnic_filters(bp, vnic); - bnxt_hwrm_vnic_ctx_free(bp, vnic); - bnxt_hwrm_vnic_tpa_cfg(bp, vnic, false); bnxt_hwrm_vnic_free(bp, vnic); + bnxt_hwrm_vnic_ctx_free(bp, vnic); + rte_free(vnic->fw_grp_ids); vnic->fw_grp_ids = NULL; }