diff mbox

[3/3] validation: pktio: free unexpected packets/events

Message ID 1424866561-3728-4-git-send-email-stuart.haslam@linaro.org
State Accepted
Commit fff7ab3b04ccf2b0d9b5e4a02b9715649a9ac9db
Headers show

Commit Message

Stuart Haslam Feb. 25, 2015, 12:16 p.m. UTC
Signed-off-by: Stuart Haslam <stuart.haslam@linaro.org>
---
 test/validation/odp_pktio.c | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)
diff mbox

Patch

diff --git a/test/validation/odp_pktio.c b/test/validation/odp_pktio.c
index effe059..a3476e3 100644
--- a/test/validation/odp_pktio.c
+++ b/test/validation/odp_pktio.c
@@ -314,11 +314,15 @@  static odp_packet_t wait_for_packet(odp_queue_t queue,
 		else
 			ev  = odp_schedule(NULL, ns);
 
-		if (ev != ODP_EVENT_INVALID &&
-		    odp_event_type(ev) == ODP_EVENT_PACKET) {
-			pkt = odp_packet_from_event(ev);
-			if (pktio_pkt_seq(pkt) == seq)
-				return pkt;
+		if (ev != ODP_EVENT_INVALID) {
+			if (odp_event_type(ev) == ODP_EVENT_PACKET) {
+				pkt = odp_packet_from_event(ev);
+				if (pktio_pkt_seq(pkt) == seq)
+					return pkt;
+			}
+
+			/* not interested in this event */
+			odp_buffer_free(odp_buffer_from_event(ev));
 		}
 
 		now = odp_time_cycles();
@@ -518,6 +522,7 @@  static void test_odp_pktio_inq_remdef(void)
 {
 	odp_pktio_t pktio = create_pktio(iface_name[0]);
 	odp_queue_t inq;
+	odp_event_t ev;
 	int i;
 
 	CU_ASSERT(pktio != ODP_PKTIO_INVALID);
@@ -525,8 +530,13 @@  static void test_odp_pktio_inq_remdef(void)
 	CU_ASSERT((inq = odp_pktio_inq_getdef(pktio)) != ODP_QUEUE_INVALID);
 	CU_ASSERT(odp_pktio_inq_remdef(pktio) == 0);
 
-	for (i = 0; i < 100; i++)
-		odp_schedule(NULL, ODP_TIME_MSEC);
+	for (i = 0; i < 100; i++) {
+		ev = odp_schedule(NULL, ODP_TIME_MSEC);
+		if (ev != ODP_EVENT_INVALID) {
+			odp_buffer_free(odp_buffer_from_event(ev));
+			CU_FAIL("received unexpected event");
+		}
+	}
 
 	CU_ASSERT(odp_queue_destroy(inq) == 0);
 	CU_ASSERT(odp_pktio_close(pktio) == 0);