---
id: CVE-2025-37895
title: 'bnxt_en: Fix error handling path in bnxt_init_chip()'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  bnxt_en: Fix error handling path in bnxt_init_chip()

  WARN_ON() is triggered in __flush_work() if bnxt_init_chip() fails
  because we call cancel_work_sync() on dim work …
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= f697217f980ffc796c72c34dbf7d59a6b1996888 <
    e039b00ddbfeaa0dc59b8659be114f1a1b37c5bf
  - >-
    Linux >= 40452969a50652e3cbf89dac83d54eebf2206d27 <
    21116727f452474502ee74f956d5e7466103e19b
  - >-
    Linux >= 40452969a50652e3cbf89dac83d54eebf2206d27 <
    9ab7a709c926c16b4433cf02d04fcbcf35aaab2b
  - Linux >= 6.12.10 < 6.12.28
  - Linux 6.13
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T20:44:47.162504Z'
published: '2025-05-20'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T20:52:07.335Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-37895'
references:
  - url: 'https://git.kernel.org/stable/c/e039b00ddbfeaa0dc59b8659be114f1a1b37c5bf'
  - url: 'https://git.kernel.org/stable/c/21116727f452474502ee74f956d5e7466103e19b'
  - url: 'https://git.kernel.org/stable/c/9ab7a709c926c16b4433cf02d04fcbcf35aaab2b'
tags:
  - cve.org
epss: 0.00202
epssPercentile: 0.10256
ingestedAt: '2026-11-05T22:38:31.890Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

bnxt_en: Fix error handling path in bnxt_init_chip()

WARN_ON() is triggered in __flush_work() if bnxt_init_chip() fails
because we call cancel_work_sync() on dim work that has not been
initialized.

WARNING: CPU: 37 PID: 5223 at kernel/workqueue.c:4201 __flush_work.isra.0+0x212/0x230

The driver relies on the BNXT_STATE_NAPI_DISABLED bit to check if dim
work has already been cancelled.  But in the bnxt_open() path,
BNXT_STATE_NAPI_DISABLED is not set and this causes the error
path to think that it needs to cancel the uninitalized dim work.
Fix it by setting BNXT_STATE_NAPI_DISABLED during initialization.
The bit will be cleared when we enable NAPI and initialize dim work.

## Affected

- `Linux >= f697217f980ffc796c72c34dbf7d59a6b1996888 < e039b00ddbfeaa0dc59b8659be114f1a1b37c5bf`
- `Linux >= 40452969a50652e3cbf89dac83d54eebf2206d27 < 21116727f452474502ee74f956d5e7466103e19b`
- `Linux >= 40452969a50652e3cbf89dac83d54eebf2206d27 < 9ab7a709c926c16b4433cf02d04fcbcf35aaab2b`
- `Linux >= 6.12.10 < 6.12.28`
- `Linux 6.13`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
