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-10 00:38:00 +0000
commit8b4a3fbdd57215cffde530e2fa3098c272a985fe (patch)
treef349f1ed260912549a5e29acc5adb459ae3ff38b
parent517e0978db1ff92d9f2b86fe735aba24bca72038 (diff)
downloadsrc-8b4a3fbdd57215cffde530e2fa3098c272a985fe.tar.gz
src-8b4a3fbdd57215cffde530e2fa3098c272a985fe.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. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31869
-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 487a5625dd3a..36651fdd2263 100644
--- a/sys/dev/ixgbe/if_ix.c
+++ b/sys/dev/ixgbe/if_ix.c
@@ -919,6 +919,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);