From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8A294A0524 for ; Thu, 4 Feb 2021 12:30:57 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 83AB424073F; Thu, 4 Feb 2021 12:30:57 +0100 (CET) Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) by mails.dpdk.org (Postfix) with ESMTP id A6137240722 for ; Thu, 4 Feb 2021 12:30:55 +0100 (CET) Received: from 2.general.paelzer.uk.vpn ([10.172.196.173] helo=localhost.localdomain) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1l7cqd-000561-G8; Thu, 04 Feb 2021 11:30:55 +0000 From: Christian Ehrhardt To: Kalesh AP Cc: Somnath Kotur , Ajit Khaparde , dpdk stable Date: Thu, 4 Feb 2021 12:27:55 +0100 Message-Id: <20210204112954.2488123-20-christian.ehrhardt@canonical.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210204112954.2488123-1-christian.ehrhardt@canonical.com> References: <20210204112954.2488123-1-christian.ehrhardt@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'net/bnxt: release HWRM lock in error' has been queued to stable release 19.11.7 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 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 stable release 19.11.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 02/06/21. 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. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/9481fba8fd2ab438d8e2a7a5d1f1240b3b7bc77e Thanks. Christian Ehrhardt --- >From 9481fba8fd2ab438d8e2a7a5d1f1240b3b7bc77e Mon Sep 17 00:00:00 2001 From: Kalesh AP Date: Tue, 17 Nov 2020 12:40:24 +0530 Subject: [PATCH] net/bnxt: release HWRM lock in error [ upstream commit ec0a96819d35070276f350c2488203e7ab72aed4 ] In __bnxt_hwrm_func_qcaps, when memory allocations fails driver is not releasing the hwrm lock. This patch fixes it by calling hwrm_unlock in that error case. Fixes: b7778e8a1c00 ("net/bnxt: refactor to properly allocate resources for PF/VF") Signed-off-by: Kalesh AP Reviewed-by: Somnath Kotur Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_hwrm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index d87605f7d7..b2665089a6 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -634,6 +634,7 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp) sizeof(bp->pf.vf_info[0]) * new_max_vfs, 0); if (bp->pf.vf_info == NULL) { PMD_DRV_LOG(ERR, "Alloc vf info fail\n"); + HWRM_UNLOCK(); return -ENOMEM; } bp->pf.max_vfs = new_max_vfs; -- 2.30.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-02-04 12:04:29.023300039 +0100 +++ 0020-net-bnxt-release-HWRM-lock-in-error.patch 2021-02-04 12:04:27.874789577 +0100 @@ -1 +1 @@ -From ec0a96819d35070276f350c2488203e7ab72aed4 Mon Sep 17 00:00:00 2001 +From 9481fba8fd2ab438d8e2a7a5d1f1240b3b7bc77e Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ec0a96819d35070276f350c2488203e7ab72aed4 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -21 +22 @@ -index ebbf504c0c..784e9778a3 100644 +index d87605f7d7..b2665089a6 100644 @@ -24,3 +25,3 @@ -@@ -718,6 +718,7 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp) - sizeof(bp->pf->vf_info[0]) * new_max_vfs, 0); - if (bp->pf->vf_info == NULL) { +@@ -634,6 +634,7 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp) + sizeof(bp->pf.vf_info[0]) * new_max_vfs, 0); + if (bp->pf.vf_info == NULL) { @@ -31 +32 @@ - bp->pf->max_vfs = new_max_vfs; + bp->pf.max_vfs = new_max_vfs;