git: 3a4e037989f9 - main - ixgbe: Leave run-state publication to iflib during FDIR recovery
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 11 Sep 2026 21:19:41 UTC
The branch main has been updated by kbowling:
URL: https://cgit.FreeBSD.org/src/commit/?id=3a4e037989f91672974eeedf1fa81ce0b684beb7
commit 3a4e037989f91672974eeedf1fa81ce0b684beb7
Author: Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2026-09-11 18:56:17 +0000
Commit: Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-09-11 21:19:12 +0000
ixgbe: Leave run-state publication to iflib during FDIR recovery
Rebuilding the Flow Director tables does not initialize the interface
or restore its queues. Do not set IFF_DRV_RUNNING from that operation:
iflib owns the flag, and may have cleared it while a watchdog reset is
pending. Restoring it here could admit traffic before the deferred
stop and initialization have run.
Keep the table rebuild and Flow Director interrupt re-enable unchanged.
This path is conditional on IXGBE_FDIR.
MFC after: 2 weeks
Sponsored by: BBOX.io
---
sys/dev/ixgbe/if_fdir.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/sys/dev/ixgbe/if_fdir.c b/sys/dev/ixgbe/if_fdir.c
index 37f45cb3808f..dcd930518d01 100644
--- a/sys/dev/ixgbe/if_fdir.c
+++ b/sys/dev/ixgbe/if_fdir.c
@@ -53,7 +53,6 @@ ixgbe_reinit_fdir(void *context)
{
if_ctx_t ctx = context;
struct ixgbe_softc *sc = iflib_get_softc(ctx);
- if_t ifp = iflib_get_ifp(ctx);
if (!(sc->feat_en & IXGBE_FEATURE_FDIR))
return;
@@ -63,8 +62,6 @@ ixgbe_reinit_fdir(void *context)
sc->fdir_reinit = 0;
/* re-enable flow director interrupts */
IXGBE_WRITE_REG(&sc->hw, IXGBE_EIMS, IXGBE_EIMS_FLOW_DIR);
- /* Restart the interface */
- if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0);
} /* ixgbe_reinit_fdir */
/************************************************************************