aboutsummaryrefslogtreecommitdiff
path: root/test/validation
diff options
context:
space:
mode:
authorZoltan Kiss <zoltan.kiss@linaro.org>2015-07-13 14:43:27 +0100
committerMaxim Uvarov <maxim.uvarov@linaro.org>2015-07-13 17:03:53 +0300
commitf98df8bbdb991fa1257d42924c75847122549db6 (patch)
tree5fa445f7c922bd1fc318c1c9e3118ae54878b51b /test/validation
parent4cdf96d25cf2a1a66e89d5ad2cff72306651e4ad (diff)
test: handle return value of odp_queue_enq_multi()
Unsent packet has to be released. If the event type is obvious from the context, use directly the relevant release functions, otherwise odp_event_free(). Wider error handling is attempted, but this patch can't fix all the flaws in the many calling functions of odp_queue_enq() Signed-off-by: Zoltan Kiss <zoltan.kiss@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'test/validation')
-rw-r--r--test/validation/pktio/pktio.c3
-rw-r--r--test/validation/queue/queue.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/test/validation/pktio/pktio.c b/test/validation/pktio/pktio.c
index 82ced5c30..d603b27f7 100644
--- a/test/validation/pktio/pktio.c
+++ b/test/validation/pktio/pktio.c
@@ -388,6 +388,9 @@ static void pktio_txrx_multi(pktio_info_t *pktio_a, pktio_info_t *pktio_b,
ret = odp_queue_enq_multi(pktio_a->outq, tx_ev, num_pkts);
if (ret != num_pkts) {
CU_FAIL("failed to enqueue test packets");
+ i = ret < 0 ? 0 : ret;
+ for ( ; i < num_pkts; i++)
+ odp_packet_free(tx_pkt[i]);
return;
}
}
diff --git a/test/validation/queue/queue.c b/test/validation/queue/queue.c
index f686b71f2..96dc93247 100644
--- a/test/validation/queue/queue.c
+++ b/test/validation/queue/queue.c
@@ -88,6 +88,10 @@ static void queue_test_sunnydays(void)
*/
ret = odp_queue_enq_multi(queue_id, enev, MAX_BUFFER_QUEUE);
CU_ASSERT(MAX_BUFFER_QUEUE == ret);
+ i = ret < 0 ? 0 : ret;
+ for ( ; i < MAX_BUFFER_QUEUE; i++)
+ odp_event_free(enev[i]);
+
pev_tmp = deev;
do {
deq_ret = odp_queue_deq_multi(queue_id, pev_tmp,