diff options
| author | Kevin Bowling <kbowling@FreeBSD.org> | 2026-08-06 08:21:35 +0000 |
|---|---|---|
| committer | Kevin Bowling <kbowling@FreeBSD.org> | 2026-08-07 14:01:43 +0000 |
| commit | 545779a99290b7b7d94dece6c096ce230be91ff9 (patch) | |
| tree | 30ce904f18839c12ab536c8f933ca005a3561397 /sys/dev | |
| parent | 31285bddf21e986e006e5405acc2c4626e43d190 (diff) | |
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
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ixgbe/if_ix.c | 2 |
1 files changed, 2 insertions, 0 deletions
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 { |
