git: 545779a99290 - main - ixgbe: Re-enable the SFP laser during initialization

Kevin Bowling <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.src
Message-ID <6a75e569.43380.241c6341__35994.2406926834$1786111353$gmane$org@gitrepo.freebsd.org>
The branch main has been updated by kbowling:

URL: https://cgit.FreeBSD.org/src/commit/?id=545779a99290b7b7d94dece6c096ce230be91ff9

commit 545779a99290b7b7d94dece6c096ce230be91ff9
Author:     Kevin Bowling <[email protected]>
AuthorDate: 2026-08-06 08:21:35 +0000
Commit:     Kevin Bowling <[email protected]>
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 {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.