patch 'net/bnxt: fix crash in HWRM capabilities query' has been queued to stable release 24.11.5
luca.boccassi at gmail.com
luca.boccassi at gmail.com
Fri Feb 20 15:55:41 CET 2026
Hi,
FYI, your patch has been queued to stable release 24.11.5
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/22/26. 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/bluca/dpdk-stable
This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/aa45f1dabbd6dbf7f2648be6f59ff36c53f4068e
Thanks.
Luca Boccassi
---
>From aa45f1dabbd6dbf7f2648be6f59ff36c53f4068e Mon Sep 17 00:00:00 2001
From: Manish Kurup <manish.kurup at broadcom.com>
Date: Thu, 4 Dec 2025 17:13:03 -0500
Subject: [PATCH] net/bnxt: fix crash in HWRM capabilities query
[ upstream commit 0e2b6deb6b2590945fabee6f4cfa500977f66769 ]
Fix a segmentation fault root-caused to the following
1. bnxt testpmd queries the THOR2 capabilities using an HWRM.
2. Another HWRM is made that overwrites the capabilities context,
which results in the MPC context not being created.
3. Initializing TruFlow (which depends on the MPC context),
results in a SEGV.
The fix moves the 2nd HWRM after the capabilities have been
consumed.
Fixes: 80317ff6adfd ("net/bnxt/tf_core: support Thor2")
Signed-off-by: Manish Kurup <manish.kurup at broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
---
drivers/net/bnxt/bnxt_hwrm.c | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index d015ba2b9c..9ae678b5fd 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -1198,15 +1198,6 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
if (BNXT_PF(bp))
bp->pf->total_vnics = rte_le_to_cpu_16(resp->max_vnics);
- if (flags & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_PTP_SUPPORTED) {
- if (BNXT_CHIP_P5(bp) || BNXT_PF(bp)) {
- bp->flags |= BNXT_FLAG_PTP_SUPPORTED;
- PMD_DRV_LOG_LINE(DEBUG, "PTP SUPPORTED");
- HWRM_UNLOCK();
- bnxt_hwrm_ptp_qcfg(bp);
- }
- }
-
if (flags & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT_STATS_SUPPORTED)
bp->flags |= BNXT_FLAG_EXT_STATS_SUPPORTED;
@@ -1263,6 +1254,18 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp)
if (flags_ext3 & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT3_RX_RATE_PROFILE_SEL_SUPPORTED)
bp->fw_cap |= BNXT_FW_CAP_RX_RATE_PROFILE;
+ /* This block should be kept at the end of this function because it
+ * sends another hwrm msg.
+ */
+ if (flags & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_PTP_SUPPORTED) {
+ if (BNXT_CHIP_P5(bp) || BNXT_PF(bp)) {
+ bp->flags |= BNXT_FLAG_PTP_SUPPORTED;
+ PMD_DRV_LOG_LINE(DEBUG, "PTP SUPPORTED");
+ HWRM_UNLOCK();
+ bnxt_hwrm_ptp_qcfg(bp);
+ }
+ }
+
unlock:
HWRM_UNLOCK();
--
2.47.3
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2026-02-20 14:55:44.813154230 +0000
+++ 0039-net-bnxt-fix-crash-in-HWRM-capabilities-query.patch 2026-02-20 14:55:43.216191278 +0000
@@ -1 +1 @@
-From 0e2b6deb6b2590945fabee6f4cfa500977f66769 Mon Sep 17 00:00:00 2001
+From aa45f1dabbd6dbf7f2648be6f59ff36c53f4068e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0e2b6deb6b2590945fabee6f4cfa500977f66769 ]
+
@@ -26 +28 @@
-index 4d693da1d5..0cef22b5ec 100644
+index d015ba2b9c..9ae678b5fd 100644
More information about the stable
mailing list