On FreeBSD with nic_uio, interrupt registration fails silently and hardware events, including link state notifications, are never processed via the interrupt path.
For ice, this affects the typical polling-mode configuration: the interrupt handler is never invoked, AdminQ messages go unprocessed, and link status is not reliable. A periodic alarm is added to drain the AdminQ when interrupt delivery is unavailable. For i40e, an alarm already runs unconditionally in polling mode, so that configuration is unaffected. The gap is the interrupt-mode configuration, where the existing alarm was not activated as a fallback when interrupt enable fails; this patch extends it to do so. Ciara Loftus (2): net/ice: poll AdminQ if interrupt delivery unavailable net/i40e: activate alarm if interrupt delivery unavailable drivers/net/intel/i40e/i40e_ethdev.c | 9 +++++- drivers/net/intel/i40e/i40e_ethdev.h | 2 ++ drivers/net/intel/ice/ice_ethdev.c | 45 +++++++++++++++++++++++++++- drivers/net/intel/ice/ice_ethdev.h | 1 + 4 files changed, 55 insertions(+), 2 deletions(-) -- 2.43.0

