From 8b4a3fbdd57215cffde530e2fa3098c272a985fe Mon Sep 17 00:00:00 2001 From: Kevin Bowling Date: Wed, 9 Aug 2023 17:31:49 -0700 Subject: [PATCH] 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 --- sys/dev/ixgbe/if_ix.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index 487a5625dd3..36651fdd226 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);