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
> 

Reply via email to