[PATCH v2 2/4] net/i40e: fix vector Rx queue set up logic

Ciara Loftus ciara.loftus at intel.com
Tue Sep 2 12:48:57 CEST 2025


The logic to set up a vector Rx queue was present in two places, before
and after the Rx path was selected. In some cases, the rx queue would
have been set up for vector Rx twice. Another scenario could occur where
first the queue was set up for vector rx, then the scalar path selected
but the vector rx setup would still persist. This of course would be
incorrect behaviour, so it has been fixed by removing the setup logic
that was before the path select code.

Fixes: 052ae311091c ("net/i40e: use the common Rx path selection infrastructure")

Signed-off-by: Ciara Loftus <ciara.loftus at intel.com>
---
 drivers/net/intel/i40e/i40e_rxtx.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/drivers/net/intel/i40e/i40e_rxtx.c b/drivers/net/intel/i40e/i40e_rxtx.c
index 4c0d12c179..434959e1c0 100644
--- a/drivers/net/intel/i40e/i40e_rxtx.c
+++ b/drivers/net/intel/i40e/i40e_rxtx.c
@@ -3356,17 +3356,6 @@ i40e_set_rx_function(struct rte_eth_dev *dev)
 
 		rx_simd_width = RTE_VECT_SIMD_DISABLED;
 	}
-	if (rx_simd_width != RTE_VECT_SIMD_DISABLED) {
-		for (i = 0; i < dev->data->nb_rx_queues; i++) {
-			struct ci_rx_queue *rxq =
-				dev->data->rx_queues[i];
-
-			if (rxq && i40e_rxq_vec_setup(rxq)) {
-				rx_simd_width = RTE_VECT_SIMD_DISABLED;
-				break;
-			}
-		}
-	}
 
 	req_features.simd_width = rx_simd_width;
 	if (dev->data->scattered_rx)
-- 
2.34.1



More information about the dev mailing list