diff options
author | Kevin Bowling <kbowling@FreeBSD.org> | 2023-08-10 00:31:49 +0000 |
---|---|---|
committer | Kevin Bowling <kbowling@FreeBSD.org> | 2023-08-17 00:30:47 +0000 |
commit | a6b804a4f6f499a63f428f73fba67ea8ccacb07a (patch) | |
tree | a23432e00912f50f616ed46a5240c4f5be853d32 | |
parent | f09f2763b67fcbf65d7cac5b114eab72308cde60 (diff) | |
download | src-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.c | 9 |
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); |