net/virtio: fix check scatter on all Rx queues

This patch fixes the wrong way to obtain virtqueue.
The end of virtqueue cannot be judged based on whether
the array is NULL.

Fixes: 4e8169eb0d ("net/virtio: fix Rx scatter offload")
Cc: stable@dpdk.org

Signed-off-by: Zhihong Peng <zhihongx.peng@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
This commit is contained in:
Zhihong Peng 2021-10-08 05:49:45 +00:00 committed by Maxime Coquelin
parent f5ec6a3a19
commit 84cc857b5d

View File

@ -882,8 +882,11 @@ virtio_check_scatter_on_all_rx_queues(struct rte_eth_dev *dev,
if (hw->vqs == NULL)
return true;
for (qidx = 0; (vq = hw->vqs[2 * qidx + VTNET_SQ_RQ_QUEUE_IDX]) != NULL;
qidx++) {
for (qidx = 0; qidx < hw->max_queue_pairs; qidx++) {
vq = hw->vqs[2 * qidx + VTNET_SQ_RQ_QUEUE_IDX];
if (vq == NULL)
continue;
rxvq = &vq->rxq;
if (rxvq->mpool == NULL)
continue;