aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Bowling <kbowling@FreeBSD.org>2023-08-03 05:59:37 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2023-08-03 06:00:58 +0000
commita93409fc3cd7b4d4aeb35d7ef27f84c1ae13a42d (patch)
treea2f8fcad764cb13822f6f3781d2bf6873228c0ea
parent2ddf24f8f52559b08da700ab044c33d0a9ed5601 (diff)
downloadsrc-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.c25
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");