diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 755786dc10..3b915f20cd 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -2403,12 +2403,22 @@ i40e_dev_start(struct rte_eth_dev *dev) /* Enable all queues which have been configured */ for (nb_rxq = 0; nb_rxq < dev->data->nb_rx_queues; nb_rxq++) { + struct i40e_rx_queue *rxq = dev->data->rx_queues[nb_rxq]; + + if (rxq->rx_deferred_start) + continue; + ret = i40e_dev_rx_queue_start(dev, nb_rxq); if (ret) goto rx_err; } for (nb_txq = 0; nb_txq < dev->data->nb_tx_queues; nb_txq++) { + struct i40e_tx_queue *txq = dev->data->tx_queues[nb_txq]; + + if (txq->tx_deferred_start) + continue; + ret = i40e_dev_tx_queue_start(dev, nb_txq); if (ret) goto tx_err;