Re: [RFC net v4 4/4] bnxt_en: refuse to open a device with stopped DMA

From: Joe Damato

Date: Mon Sep 28 2026 - 20:21:01 EST


On Fri, Sep 25, 2026 at 10:44:01AM -0700, Joe Damato wrote:
> Add BNXT_STATE_DMA_STOPPED and set it in bnxt_stop_dma() to signal that
> the device had DMA disabled. When opening the device later, check this
> bit and exit with an error.
>
> This is a very rare case, but when it happens the device needs manual
> intervention by the user to become usable again.
>
> Fixes: 74608fc98d28 ("bnxt_en: Ring free response from close path should use completion ring")
> Signed-off-by: Joe Damato <joe@xxxxxxx>
> ---
> drivers/net/ethernet/broadcom/bnxt/bnxt.c | 26 ++++++++++++++++++++---
> drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 +
> 2 files changed, 24 insertions(+), 3 deletions(-)

[...]

> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
> index c673b2ce4a0d..061f57824c7a 100644
> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h
> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
> @@ -2470,6 +2470,7 @@ struct bnxt {
> #define BNXT_STATE_DRV_REGISTERED 7
> #define BNXT_STATE_PCI_CHANNEL_IO_FROZEN 8
> #define BNXT_STATE_NAPI_DISABLED 9
> +#define BNXT_STATE_DMA_STOPPED 10
> #define BNXT_STATE_FW_ACTIVATE 11

FWIW: while applying this series to an older kernel to test it on some prod
hardware, I noted that this bit was previously taken.

If this is re-submit as a real series and not an RFC, I suppose I'll tweak
this to take a different bit to make backporting easier.