aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatias Elo <matias.elo@nokia.com>2018-09-11 12:42:34 +0300
committerMatias Elo <matias.elo@nokia.com>2018-09-17 11:15:19 +0300
commit41a0100629047ab09bb268239a7c6eb6b03b6e23 (patch)
treea97ce957e4814e2c8278802d468f2e62643ec1fc
parent17975e6f17516d3df5c0dec3a78a610573dcbee2 (diff)
Port f8500922 "linux-gen: queue: fix ordered queue issue"
Signed-off-by: Matias Elo <matias.elo@nokia.com>
-rw-r--r--platform/linux-dpdk/odp_queue_basic.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/platform/linux-dpdk/odp_queue_basic.c b/platform/linux-dpdk/odp_queue_basic.c
index 98608c3c3..93bb66360 100644
--- a/platform/linux-dpdk/odp_queue_basic.c
+++ b/platform/linux-dpdk/odp_queue_basic.c
@@ -457,10 +457,13 @@ static inline int _plain_queue_enq_multi(odp_queue_t handle,
odp_buffer_hdr_t *buf_hdr[], int num)
{
queue_entry_t *queue;
- int num_enq;
+ int ret, num_enq;
queue = qentry_from_handle(handle);
+ if (sched_fn->ord_enq_multi(handle, (void **)buf_hdr, num, &ret))
+ return ret;
+
LOCK(queue);
if (odp_unlikely(queue->s.status < QUEUE_STATUS_READY)) {