aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Bowling <kbowling@FreeBSD.org>2023-08-10 00:31:49 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2023-08-17 00:30:47 +0000
commita6b804a4f6f499a63f428f73fba67ea8ccacb07a (patch)
treea23432e00912f50f616ed46a5240c4f5be853d32
parentf09f2763b67fcbf65d7cac5b114eab72308cde60 (diff)
downloadsrc-a6b804a4f6f499a63f428f73fba67ea8ccacb07a.tar.gz
src-a6b804a4f6f499a63f428f73fba67ea8ccacb07a.zip
ixgbe: Check for fw_recovery
The x550 uses an upgradable flash code. Check for recovery condition like other flashable intel cards do in case of fw errors. Differential Revision: https://reviews.freebsd.org/D31869 (cherry picked from commit 8b4a3fbdd57215cffde530e2fa3098c272a985fe)
-rw-r--r--sys/dev/ixgbe/if_ix.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c
index 150fdff03d05..4245f4f08eb7 100644
--- a/sys/dev/ixgbe/if_ix.c
+++ b/sys/dev/ixgbe/if_ix.c
@@ -921,6 +921,15 @@ ixgbe_if_attach_pre(if_ctx_t ctx)
goto err_pci;
}
+ if (hw->mac.ops.fw_recovery_mode && hw->mac.ops.fw_recovery_mode(hw)) {
+ device_printf(dev, "Firmware recovery mode detected. Limiting "
+ "functionality.\nRefer to the Intel(R) Ethernet Adapters "
+ "and Devices User Guide for details on firmware recovery "
+ "mode.");
+ error = ENOSYS;
+ goto err_pci;
+ }
+
if (hw->mbx.ops.init_params)
hw->mbx.ops.init_params(hw);