X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fvirtio%2Fvirtio_rxtx.c;h=97ed69596aea820205d358747fe24c551909807d;hb=ed2ffccdc1c862a24361f67dcf470428be142418;hp=18f03c9fc9dfd2e4f7e361f4df22c896445c63de;hpb=9897896ec78b4568ff60ed1dab27fd01e15c96a4;p=dpdk.git diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c index 18f03c9fc9..97ed69596a 100644 --- a/drivers/net/virtio/virtio_rxtx.c +++ b/drivers/net/virtio/virtio_rxtx.c @@ -706,8 +706,14 @@ virtio_dev_rx_queue_setup(struct rte_eth_dev *dev, } vq->vq_free_thresh = rx_free_thresh; - if (nb_desc > vq->vq_nentries) + /* + * For split ring vectorized path descriptors number must be + * equal to the ring size. + */ + if (nb_desc > vq->vq_nentries || + (!virtio_with_packed_queue(hw) && hw->use_vec_rx)) { nb_desc = vq->vq_nentries; + } vq->vq_free_cnt = RTE_MIN(vq->vq_free_cnt, nb_desc); rxvq = &vq->rxq;