aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/avf/device.c
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2019-08-20 17:51:22 +0200
committerDave Barach <openvpp@barachs.net>2019-08-21 14:22:40 +0000
commit017002ae357a05ca1ae1b7d8fbc7bbc8063c9e34 (patch)
treea73602962ecb711bd11d3f1a61c6c57e96f8c704 /src/plugins/avf/device.c
parent2d9520eb85c6785a4a0e242373cd328c48565545 (diff)
avf: fix init when num_rx_queues > num_tx_queues
Type: fix Fixes: ae91180 Change-Id: Id93b0f4d23ad7022e341e305bbd93ef2fff5787d Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/plugins/avf/device.c')
-rw-r--r--src/plugins/avf/device.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/plugins/avf/device.c b/src/plugins/avf/device.c
index 543a54e60ca..5cdc8b25e61 100644
--- a/src/plugins/avf/device.c
+++ b/src/plugins/avf/device.c
@@ -661,11 +661,11 @@ avf_op_config_vsi_queues (vlib_main_t * vm, avf_device_t * ad)
i, rxq->max_pkt_size, rxq->ring_len,
rxq->databuffer_size, rxq->dma_ring_addr);
- avf_txq_t *q = vec_elt_at_index (ad->txqs, i);
txq->vsi_id = ad->vsi_id;
+ txq->queue_id = i;
if (i < vec_len (ad->txqs))
{
- txq->queue_id = i;
+ avf_txq_t *q = vec_elt_at_index (ad->txqs, i);
txq->ring_len = q->size;
txq->dma_ring_addr = avf_dma_addr (vm, ad, (void *) q->descs);
}
@@ -856,8 +856,8 @@ avf_device_init (vlib_main_t * vm, avf_main_t * am, avf_device_t * ad,
avf_adminq_init (vm, ad);
- /* request more queues only if we need them */
- if ((error = avf_request_queues (vm, ad, tm->n_vlib_mains)))
+ if ((error = avf_request_queues (vm, ad, clib_max (tm->n_vlib_mains,
+ args->rxq_num))))
{
/* we failed to get more queues, but still we want to proceed */
clib_error_free (error);