git: 545779a99290 - main - ixgbe: Re-enable the SFP laser during initialization
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 07 Aug 2026 14:02:17 UTC
The branch main has been updated by kbowling:
URL: https://cgit.FreeBSD.org/src/commit/?id=545779a99290b7b7d94dece6c096ce230be91ff9
commit 545779a99290b7b7d94dece6c096ce230be91ff9
Author: Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2026-08-06 08:21:35 +0000
Commit: Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-08-07 14:01:43 +0000
ixgbe: Re-enable the SFP laser during initialization
ixgbe_if_stop() disables the transmit laser on every 82599 SFP fiber
port, but the iflib initialization path did not re-enable it. Re-enable
the laser before deferred SFP module setup so interface
reinitialization cannot leave either single-speed or multispeed optics
dark.
The hardware wrapper is a no-op when laser control is unavailable. The
placement follows Intel ix-3.4.39; this version deliberately applies to
every SFP port affected by the stop path.
MFC after: 1 week
---
sys/dev/ixgbe/if_ix.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c
index 519c82304f54..96188ca7ef7f 100644
--- a/sys/dev/ixgbe/if_ix.c
+++ b/sys/dev/ixgbe/if_ix.c
@@ -1836,6 +1836,8 @@ ixgbe_config_link(if_ctx_t ctx)
sfp = ixgbe_is_sfp(hw);
if (sfp) {
+ /* ixgbe_if_stop() disables it on every 82599 SFP port. */
+ ixgbe_enable_tx_laser(hw);
sc->task_requests |= IXGBE_REQUEST_TASK_MOD;
iflib_admin_intr_deferred(ctx);
} else {