[PATCH v2 0/3] net/intel: fix link status when interrupt delivery unavailable
Bruce Richardson
bruce.richardson at intel.com
Fri Jul 10 11:22:28 CEST 2026
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 <bruce.richardson at intel.com>
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
>
More information about the dev
mailing list