[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)
> ð_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