git: 6248e7de9d6c - main - igb: Reinitialize through iflib after media changes
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 16 Aug 2026 10:19:05 UTC
The branch main has been updated by kbowling:
URL: https://cgit.FreeBSD.org/src/commit/?id=6248e7de9d6c0f14294afc5792170a68de6a3b53
commit 6248e7de9d6c0f14294afc5792170a68de6a3b53
Author: Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2026-08-16 06:58:18 +0000
Commit: Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-08-16 10:18:36 +0000
igb: Reinitialize through iflib after media changes
A media change can require a complete controller reset. Resetting the
controller directly from the admin task leaves iflib rings, filters, and
interface state programmed for the pre-reset controller.
Request an iflib reset for every media change. This already was done
when SR-IOV was active; use the same lifecycle for the ordinary PF case.
MFC after: 2 weeks
Sponsored by: BBOX.io
---
sys/dev/e1000/if_em.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c
index 05e64a9d5013..1622468bd2a0 100644
--- a/sys/dev/e1000/if_em.c
+++ b/sys/dev/e1000/if_em.c
@@ -3397,12 +3397,9 @@ em_if_update_admin_status(if_ctx_t ctx)
hw->mac.type >= igb_mac_min) {
hw->dev_spec._82575.media_changed = false;
sc->flags |= IGB_MEDIA_RESET;
- if (igb_iov_enabled(sc)) {
- iflib_request_reset(ctx);
- iflib_admin_intr_deferred(ctx);
- reset_requested = true;
- } else
- em_reset(ctx);
+ iflib_request_reset(ctx);
+ iflib_admin_intr_deferred(ctx);
+ reset_requested = true;
}
/* Only do TSO on gigabit for older chips due to errata */
if (hw->mac.type < igb_mac_min)