diff options
author | Kevin Bowling <kbowling@FreeBSD.org> | 2023-08-03 05:59:37 +0000 |
---|---|---|
committer | Kevin Bowling <kbowling@FreeBSD.org> | 2023-08-03 06:00:58 +0000 |
commit | a93409fc3cd7b4d4aeb35d7ef27f84c1ae13a42d (patch) | |
tree | a2f8fcad764cb13822f6f3781d2bf6873228c0ea | |
parent | 2ddf24f8f52559b08da700ab044c33d0a9ed5601 (diff) | |
download | src-a93409fc3cd7b4d4aeb35d7ef27f84c1ae13a42d.tar.gz src-a93409fc3cd7b4d4aeb35d7ef27f84c1ae13a42d.zip |
ixgbe: Warn once for unsupported SFPs
The driver belabors the point about unsupported SFPs, printing multiple
times on link up. Limit it to once.
Reviewed by: markj
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D39785
-rw-r--r-- | sys/dev/ixgbe/ixgbe_phy.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/sys/dev/ixgbe/ixgbe_phy.c b/sys/dev/ixgbe/ixgbe_phy.c index eef1d40448d3..1ab4f057f810 100644 --- a/sys/dev/ixgbe/ixgbe_phy.c +++ b/sys/dev/ixgbe/ixgbe_phy.c @@ -1302,6 +1302,7 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) u8 cable_tech = 0; u8 cable_spec = 0; u16 enforce_sfp = 0; + static bool warned_once = false; DEBUGFUNC("ixgbe_identify_sfp_module_generic"); @@ -1536,13 +1537,16 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) status = IXGBE_SUCCESS; } else { if (hw->allow_unsupported_sfp == true) { - EWARN(hw, - "WARNING: Intel (R) Network Connections are quality tested using Intel (R) Ethernet Optics. " - "Using untested modules is not supported and may cause unstable operation or damage to the module or the adapter. " - "Intel Corporation is not responsible for any harm caused by using untested modules.\n"); + if (!warned_once) + EWARN(hw, + "WARNING: Intel (R) Network Connections are quality tested using Intel (R) Ethernet Optics. " + "Using untested modules is not supported and may cause unstable operation or damage to the module or the adapter. " + "Intel Corporation is not responsible for any harm caused by using untested modules.\n"); + warned_once = true; status = IXGBE_SUCCESS; } else { - DEBUGOUT("SFP+ module not supported\n"); + DEBUGOUT + ("SFP+ module not supported\n"); hw->phy.type = ixgbe_phy_sfp_unsupported; status = IXGBE_ERR_SFP_NOT_SUPPORTED; @@ -1647,6 +1651,7 @@ s32 ixgbe_identify_qsfp_module_generic(struct ixgbe_hw *hw) u8 cable_length = 0; u8 device_tech = 0; bool active_cable = false; + static bool warned_once = false; DEBUGFUNC("ixgbe_identify_qsfp_module_generic"); @@ -1792,10 +1797,12 @@ s32 ixgbe_identify_qsfp_module_generic(struct ixgbe_hw *hw) status = IXGBE_SUCCESS; } else { if (hw->allow_unsupported_sfp == true) { - EWARN(hw, - "WARNING: Intel (R) Network Connections are quality tested using Intel (R) Ethernet Optics. " - "Using untested modules is not supported and may cause unstable operation or damage to the module or the adapter. " - "Intel Corporation is not responsible for any harm caused by using untested modules.\n"); + if (!warned_once) + EWARN(hw, + "WARNING: Intel (R) Network Connections are quality tested using Intel (R) Ethernet Optics. " + "Using untested modules is not supported and may cause unstable operation or damage to the module or the adapter. " + "Intel Corporation is not responsible for any harm caused by using untested modules.\n"); + warned_once = true; status = IXGBE_SUCCESS; } else { DEBUGOUT("QSFP module not supported\n"); |