summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2019-08-20 17:51:22 +0200
committerDamjan Marion <dmarion@me.com>2019-09-24 20:55:40 +0000
commit6aba16230ca8065cf3fc2b608a31b349b5667be5 (patch)
tree21b1006fe4308fea540202478a09b3a799e15d39
parente73bd85033dfd3987e3a06967319102cc9a1e04d (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> (cherry picked from commit 017002ae357a05ca1ae1b7d8fbc7bbc8063c9e34)
-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 d7e91d9aa09..b11de27e651 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);
}
@@ -857,8 +857,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);