[dpdk-dev,4/5] port: fix file descriptor reader

Message ID 1490967396-2240-4-git-send-email-Andriy.Berestovskyy@caviumnetworks.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Andriy Berestovskyy March 31, 2017, 1:36 p.m. UTC
  The code should return the actual number of packets read.

Fixes: 5a99f208 ("port: support file descriptor")
Signed-off-by: Andriy Berestovskyy <Andriy.Berestovskyy@caviumnetworks.com>
---
 lib/librte_port/rte_port_fd.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
  

Comments

Cristian Dumitrescu March 31, 2017, 2:18 p.m. UTC | #1
> -----Original Message-----
> From: Andriy Berestovskyy
> [mailto:Andriy.Berestovskyy@caviumnetworks.com]
> Sent: Friday, March 31, 2017 2:37 PM
> To: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>
> Cc: dev@dpdk.org
> Subject: [PATCH 4/5] port: fix file descriptor reader
> 
> The code should return the actual number of packets read.
> 
> Fixes: 5a99f208 ("port: support file descriptor")
> Signed-off-by: Andriy Berestovskyy
> <Andriy.Berestovskyy@caviumnetworks.com>
> ---

Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
  

Patch

diff --git a/lib/librte_port/rte_port_fd.c b/lib/librte_port/rte_port_fd.c
index 03e69f5..914dfac 100644
--- a/lib/librte_port/rte_port_fd.c
+++ b/lib/librte_port/rte_port_fd.c
@@ -108,7 +108,7 @@  static int
 rte_port_fd_reader_rx(void *port, struct rte_mbuf **pkts, uint32_t n_pkts)
 {
 	struct rte_port_fd_reader *p = (struct rte_port_fd_reader *) port;
-	uint32_t i;
+	uint32_t i, j;
 
 	if (rte_pktmbuf_alloc_bulk(p->mempool, pkts, n_pkts) != 0)
 		return 0;
@@ -126,12 +126,12 @@  rte_port_fd_reader_rx(void *port, struct rte_mbuf **pkts, uint32_t n_pkts)
 		pkt->pkt_len = n_bytes;
 	}
 
-	for ( ; i < n_pkts; i++)
-		rte_pktmbuf_free(pkts[i]);
+	for (j = i; j < n_pkts; j++)
+		rte_pktmbuf_free(pkts[j]);
 
 	RTE_PORT_FD_READER_STATS_PKTS_IN_ADD(p, i);
 
-	return n_pkts;
+	return i;
 }
 
 static int