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 BCCF748C29 for ; Thu, 4 Dec 2025 23:13:19 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4B5A140144; Thu, 4 Dec 2025 23:13:19 +0100 (CET) Received: from mail-ot1-f99.google.com (mail-ot1-f99.google.com [209.85.210.99]) by mails.dpdk.org (Postfix) with ESMTP id BB2C840144 for ; Thu, 4 Dec 2025 23:13:17 +0100 (CET) Received: by mail-ot1-f99.google.com with SMTP id 46e09a7af769-7c75dd36b1bso1091916a34.2 for ; Thu, 04 Dec 2025 14:13:17 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764886397; x=1765491197; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZHTKrp8HKh+Liy3qbPT9Egn/yccJIyfpwu+8L/n5zR0=; b=ncItG9LXTJ8oPY0mlQ3uOuDWQuAFifiQEYgkojY/VVFso5EhCnCpIFA2VxqviTdcJb 4vxTb4hGOw17MjwpQmN8t8s7ohJsu2pchAvB7RQK1uTjmtRB2Vy7f+nnY3LmkNBSJr4P 25jQDhYUzHEQkel4t2t1RpQ6GIe0rw04GEtnDAdjUQgCuwNBfUpVgAFeZaTeKj1rBHPz zYOd9o24EdrdI78qJLGGOcGrICt8EYHHp6DRSlz84HLRQpGcYY6DFVMBE7VSaEyysKW6 PJjfEwour/weMIRGCSrR1WcWs3nG2+jI9/R9SNuPUxl3qBPh9+K+O78vmTgd24xRJ7Ro CbPw== X-Gm-Message-State: AOJu0YwzUB6q2kAZVDLmNB+in4vEBUkYFyaBAm8+Eh+32u0BIr8hUwqQ Da4ymuTWyhRLP1DYc3RpcIGT3eg9CXSCUkVV7JflE5M9+Q5+arV3WHXbWIhSCkoo+MxcUXax9fh HC5nuBzFvO6T6mo75JVDvQoZpq4civtlZiRJO0FtQoWvATs0RciR/+pas5oCMVdE5OtUolsMZ4r wSgJVOjU8zcxxSakTXh3PO+PovOm2AXS5MRxfPz4Cs6I81j0jAG6GsxL8LuOgFwyCXEiGwPXVzb pdq X-Gm-Gg: ASbGncts06Q5E6rn8b2U8T/ge5VAjUfhP4QF3XNrvS9P83YNs2LNGjA4N5/xVI0AzvS X/fiZjxVGoRint2Z3yuysPaxyXepaYDxhBuOLkpRfzTi7MPiCqMqnwvokrqAIG1lkKe/aQkLGMg FXY1ELGITf6/e2I/c0bg0dXFF/OUc0xkzpDeVwhy5Sj8ZjdBUM7exJ+TjrWcHwM9UoMiLPCxGwV WIIuVRSnpBHeqYWlQ8y5hRvsm0O9glCDmB3UXneXgMXB1oflNObD6wq7FyQvTZTPbSdKhIb+JEj nOwZxS3kmtCM7BAsCtxJQQsLhpF7OOnVUO3Ol9G7521CIs8i/Knf76CYnKWNwmJ0d77/E33HWaU dokhsZiokbgCSV69cYtyHnGsUvu5tXuJSNL4CLZMSnKWvFtt6MWpDkcEf1y/SZE9hv5YN9wwpXQ 677oRrE069XHGG4oUlKcvOayJ6sfCKV1EAix6BfCEmZ92b X-Google-Smtp-Source: AGHT+IFnPqT4xN+YmJ/GlTL9jZN6jpAeJBFzqBXCsjtjKcBIgLXvokikRy1kAEPk0IcN59OcFMJ5NV8AAEIH X-Received: by 2002:a05:6830:258e:b0:7c9:5821:7299 with SMTP id 46e09a7af769-7c958c42d32mr3049320a34.18.1764886396658; Thu, 04 Dec 2025 14:13:16 -0800 (PST) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-11.dlp.protect.broadcom.com. [144.49.247.11]) by smtp-relay.gmail.com with ESMTPS id 006d021491bc7-6597ec22821sm214556eaf.2.2025.12.04.14.13.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 04 Dec 2025 14:13:16 -0800 (PST) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-pg1-f199.google.com with SMTP id 41be03b00d2f7-bddf9ce4935so1247178a12.1 for ; Thu, 04 Dec 2025 14:13:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1764886395; x=1765491195; darn=dpdk.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=ZHTKrp8HKh+Liy3qbPT9Egn/yccJIyfpwu+8L/n5zR0=; b=B5FPnn2btZ8nsp6Yj3M0Gvf1dkCDlT+Uu3XYwVeyXWungV7rwK8RnBeusb8KFPOsM/ T42eRFxkhUmrs/5zV1MEyugGdyTAWCsjkbNNcDsfvSrTX25Ad9DGX4ghOD1FUuz8ounF DX9ZFn64ZCcgvkUkABGzEP4E2fLjD+Eg6/jWM= X-Received: by 2002:a05:7300:7305:b0:2a4:41c3:3a45 with SMTP id 5a478bee46e88-2aba422c23dmr3557834eec.2.1764886395207; Thu, 04 Dec 2025 14:13:15 -0800 (PST) X-Received: by 2002:a05:7300:7305:b0:2a4:41c3:3a45 with SMTP id 5a478bee46e88-2aba422c23dmr3557817eec.2.1764886394600; Thu, 04 Dec 2025 14:13:14 -0800 (PST) Received: from KX3WTC9T54.dhcp.broadcom.net ([192.19.144.250]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2aba83d2a5fsm8221646eec.2.2025.12.04.14.13.13 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 04 Dec 2025 14:13:14 -0800 (PST) From: Manish Kurup To: dev@dpdk.org Cc: stable@dpdk.org, Ajit Khaparde Subject: [PATCH] net/bnxt: fix a segmentation fault Date: Thu, 4 Dec 2025 17:13:03 -0500 Message-Id: <20251204221303.77891-1-manish.kurup@broadcom.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e 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 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 Reviewed-by: Ajit Khaparde --- 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 4d693da1d5..0cef22b5ec 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.39.5 (Apple Git-154)