On Thu, Jul 09, 2026 at 11:25:53AM +0000, Ciara Loftus wrote: > 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. > > v2: > * Added warning on rte_eal_alarm_set failure (i40e & ice) > * Only set use_aq_polling if rte_eal_alarm_set succeeds (i40e & ice) > * Move alarm cancel in ice_dev_stop to prevent a race (ice) > * Remove unnecessary alarm cancel from ice_dev_start error path (ice) > * Added general fix for ice dev_start error path > > Ciara Loftus (3): > net/ice: poll AdminQ if interrupt delivery unavailable > net/i40e: activate alarm if interrupt delivery unavailable > net/ice: fix adapter stopped on device start error > Series-acked-by: Bruce Richardson <[email protected]>
Applied to next-net-intel. Thanks, /Bruce > drivers/net/intel/i40e/i40e_ethdev.c | 11 ++++++- > drivers/net/intel/i40e/i40e_ethdev.h | 2 ++ > drivers/net/intel/ice/ice_ethdev.c | 44 +++++++++++++++++++++++++++- > drivers/net/intel/ice/ice_ethdev.h | 1 + > 4 files changed, 56 insertions(+), 2 deletions(-) > > -- > 2.43.0 >

