On Fri, Aug 21, 2026 at 3:36 AM Thomas Walsh [off-list ref] wrote:
In bnxt_request_irq(), pcie_enable_tph() is called unconditionally to
enable PCIe TPH when setting up interrupts.
If the NIC hardware or firmware capabilities do not support queue ops,
attempting to enable TPH during bnxt_request_irq() is unnecessary.
As a result a flood of "RX queue restart failed: err=-95" messages is
seen upon boot.
Older NICs (pre-Thor / BCM57414) do not support TPH or queue management.
TPH requires queue management to restart the queue. NICs that support
queue management (with updated FW) all support TPH.
Gate the call to pcie_enable_tph() and setting of bp->tph_mode
behind BNXT_SUPPORTS_QUEUE_API(bp) to ensure TPH is only initialized
on devices capable of supporting queue ops. This prevents a guaranteed
-EOPNOTSUPP error from occurring due to NULL operations.
Fixes: 1410c7416dc3 ("eth: bnxt: always set the queue mgmt ops")
Suggested-by: Michal Schmidt <redacted>
Signed-off-by: Thomas Walsh <redacted>
Reviewed-by: Michael Chan <michael.chan@broadcom.com>
---
v2:
- Updated commit message to include context on hardware support
and added Michael Chan's Reviewed-by tag.
- Rebased onto net/main.
OK with the consensus.
Reviewed-by: Pavan Chebbi <pavan.chebbi@broadcom.com>