net/hns3: modify a function name
[dpdk.git] / drivers / net / virtio / virtio_rxtx_packed.c
index 882dca3..45cf39d 100644 (file)
@@ -27,7 +27,7 @@ virtio_xmit_pkts_packed_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
                        uint16_t nb_pkts)
 {
        struct virtnet_tx *txvq = tx_queue;
-       struct virtqueue *vq = txvq->vq;
+       struct virtqueue *vq = virtnet_txq_to_vq(txvq);
        struct virtio_hw *hw = vq->hw;
        uint16_t nb_tx = 0;
        uint16_t remained;
@@ -81,7 +81,7 @@ virtio_recv_pkts_packed_vec(void *rx_queue,
                            uint16_t nb_pkts)
 {
        struct virtnet_rx *rxvq = rx_queue;
-       struct virtqueue *vq = rxvq->vq;
+       struct virtqueue *vq = virtnet_rxq_to_vq(rxvq);
        struct virtio_hw *hw = vq->hw;
        uint16_t num, nb_rx = 0;
        uint32_t nb_enqueued = 0;
@@ -95,11 +95,13 @@ virtio_recv_pkts_packed_vec(void *rx_queue,
                num = num - ((vq->vq_used_cons_idx + num) % PACKED_BATCH_SIZE);
 
        while (num) {
-               if (!virtqueue_dequeue_batch_packed_vec(rxvq,
-                                       &rx_pkts[nb_rx])) {
-                       nb_rx += PACKED_BATCH_SIZE;
-                       num -= PACKED_BATCH_SIZE;
-                       continue;
+               if (num >= PACKED_BATCH_SIZE) {
+                       if (!virtqueue_dequeue_batch_packed_vec(rxvq,
+                                               &rx_pkts[nb_rx])) {
+                               nb_rx += PACKED_BATCH_SIZE;
+                               num -= PACKED_BATCH_SIZE;
+                               continue;
+                       }
                }
                if (!virtqueue_dequeue_single_packed_vec(rxvq,
                                        &rx_pkts[nb_rx])) {