diff options
author | Kevin Bowling <kbowling@FreeBSD.org> | 2023-08-10 00:31:49 +0000 |
---|---|---|
committer | Kevin Bowling <kbowling@FreeBSD.org> | 2023-08-10 00:38:00 +0000 |
commit | 8b4a3fbdd57215cffde530e2fa3098c272a985fe (patch) | |
tree | f349f1ed260912549a5e29acc5adb459ae3ff38b | |
parent | 517e0978db1ff92d9f2b86fe735aba24bca72038 (diff) | |
download | src-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.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 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); |