[PATCH 1/2] net/iavf: fix missing check for interrupt errors

Medvedkin, Vladimir vladimir.medvedkin at intel.com
Tue Mar 18 13:35:01 CET 2025


Acked-by: Vladimir Medvedkin <vladimir.medvedkin at intel.com>

On 10/03/2025 13:11, Bruce Richardson wrote:
> When registering interrupts, there was no check if the registration of
> the interrupt succeeded. Add in such a check, and go to fallback path
> if the check fails. This prevents errors on FreeBSD due to missed
> admin queue messages.
>
> Fixes: cd3b124955d4 ("net/iavf: enable interrupt polling")
> Cc: stable at dpdk.org
>
> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> ---
>   drivers/net/intel/iavf/iavf_ethdev.c | 12 +++++-------
>   1 file changed, 5 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/net/intel/iavf/iavf_ethdev.c b/drivers/net/intel/iavf/iavf_ethdev.c
> index 9cd2b0c867..1ab84b0bfc 100644
> --- a/drivers/net/intel/iavf/iavf_ethdev.c
> +++ b/drivers/net/intel/iavf/iavf_ethdev.c
> @@ -2825,18 +2825,16 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
>   			&eth_dev->data->mac_addrs[0]);
>   
>   
> -	if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_WB_ON_ITR) {
> -		/* register callback func to eal lib */
> -		rte_intr_callback_register(pci_dev->intr_handle,
> -					   iavf_dev_interrupt_handler,
> -					   (void *)eth_dev);
> +	if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_WB_ON_ITR &&
> +			/* register callback func to eal lib */
> +			rte_intr_callback_register(pci_dev->intr_handle,
> +				   iavf_dev_interrupt_handler, (void *)eth_dev) == 0)
>   
>   		/* enable uio intr after callback register */
>   		rte_intr_enable(pci_dev->intr_handle);
> -	} else {
> +	else
>   		rte_eal_alarm_set(IAVF_ALARM_INTERVAL,
>   				  iavf_dev_alarm_handler, eth_dev);
> -	}
>   
>   	/* configure and enable device interrupt */
>   	iavf_enable_irq0(hw);

-- 
Regards,
Vladimir



More information about the stable mailing list