git: c43037f2bef7 - stable/15 - e1000: Identify SerDes adapters with LED blink
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 26 Aug 2026 00:57:01 UTC
The branch stable/15 has been updated by kbowling:
URL: https://cgit.FreeBSD.org/src/commit/?id=c43037f2bef77dff2d5c211b3bbf29236bb8eb58
commit c43037f2bef77dff2d5c211b3bbf29236bb8eb58
Author: Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2026-08-12 00:29:17 +0000
Commit: Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-08-26 00:56:51 +0000
e1000: Identify SerDes adapters with LED blink
The generic LED on and off operations do not handle internal SerDes
media, leaving the led(4) device ineffective on my I210 fiber port.
Use the hardware blink operation for the on phase on internal SerDes.
The off phase restores the saved OEM LED configuration as before.
(cherry picked from commit 28f96cc3748fc46408cc6ab6172f09bc2182cad7)
---
sys/dev/e1000/if_em.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c
index d4044b547068..6032c7945947 100644
--- a/sys/dev/e1000/if_em.c
+++ b/sys/dev/e1000/if_em.c
@@ -4932,7 +4932,10 @@ em_if_led_func(if_ctx_t ctx, int onoff)
if (onoff) {
e1000_setup_led(&sc->hw);
- e1000_led_on(&sc->hw);
+ if (sc->hw.phy.media_type == e1000_media_type_internal_serdes)
+ e1000_blink_led(&sc->hw);
+ else
+ e1000_led_on(&sc->hw);
} else {
e1000_led_off(&sc->hw);
e1000_cleanup_led(&sc->hw);