[PATCH] net/vmxnet3: fix use of interrupts on FreeBSD

Lewis Donzis lew at perftech.com
Tue Jan 9 17:00:25 CET 2024



----- On Jan 9, 2024, at 8:23 AM, Bruce Richardson bruce.richardson at intel.com wrote:

> DPDK does not support interrupts on FreeBSD, so the vmxnet3 driver
> returns error when enabling interrupts as it initializes. We can fix
> this by #ifdef'ing out the interrupt calls when building for FreeBSD,
> allowing the driver to initialize correctly.
> 
> Fixes: 046f11619567 ("net/vmxnet3: support MSI-X interrupt")
> 
> Reported-by: Lewis Donzis <lew at perftech.com>
Tested-by: Lewis Donzis <lew at perftech.com>
> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
> ---
> drivers/net/vmxnet3/vmxnet3_ethdev.c | 4 ++++
> 1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c
> b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> index e49191718a..7032f0e324 100644
> --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
> +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> @@ -257,6 +257,7 @@ vmxnet3_disable_all_intrs(struct vmxnet3_hw *hw)
> 		vmxnet3_disable_intr(hw, i);
> }
> 
> +#ifndef RTE_EXEC_ENV_FREEBSD
> /*
>  * Enable all intrs used by the device
>  */
> @@ -280,6 +281,7 @@ vmxnet3_enable_all_intrs(struct vmxnet3_hw *hw)
> 			vmxnet3_enable_intr(hw, i);
> 	}
> }
> +#endif
> 
> /*
>  * Gets tx data ring descriptor size.
> @@ -1129,6 +1131,7 @@ vmxnet3_dev_start(struct rte_eth_dev *dev)
> 	/* Setting proper Rx Mode and issue Rx Mode Update command */
> 	vmxnet3_dev_set_rxmode(hw, VMXNET3_RXM_UCAST | VMXNET3_RXM_BCAST, 1);
> 
> +#ifndef RTE_EXEC_ENV_FREEBSD
> 	/* Setup interrupt callback  */
> 	rte_intr_callback_register(dev->intr_handle,
> 				   vmxnet3_interrupt_handler, dev);
> @@ -1140,6 +1143,7 @@ vmxnet3_dev_start(struct rte_eth_dev *dev)
> 
> 	/* enable all intrs */
> 	vmxnet3_enable_all_intrs(hw);
> +#endif
> 
> 	vmxnet3_process_events(dev);
> 
> --
> 2.42.0


More information about the dev mailing list