summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Skrzypczak <nathan.skrzypczak@gmail.com>2019-11-19 16:48:58 +0100
committerAndrew Yourtchenko <ayourtch@gmail.com>2020-08-07 21:45:43 +0000
commit4b5723a43e980328bca039dbc1e5785c23cbf378 (patch)
tree64d149f7f5d56fa1a280be039321b29d71647ded
parent59502edc4f4b71168f9c209409550dd4d952c8e8 (diff)
session: Fix out of order mq
Type: fix Change-Id: I522db62db50fc0fa46a6dd7cddd32e2f09b5e5a6 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> (cherry picked from commit 989bc47d68187dd5db608d2b32abbbbc392b03ca)
-rw-r--r--src/vnet/session/session.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c
index c0863007a51..258a15898b6 100644
--- a/src/vnet/session/session.c
+++ b/src/vnet/session/session.c
@@ -36,7 +36,8 @@ session_send_evt_to_thread (void *data, void *args, u32 thread_index,
mq = session_main_get_vpp_event_queue (thread_index);
if (PREDICT_FALSE (svm_msg_q_lock (mq)))
return -1;
- if (PREDICT_FALSE (svm_msg_q_ring_is_full (mq, SESSION_MQ_IO_EVT_RING)))
+ if (PREDICT_FALSE (svm_msg_q_is_full (mq)
+ || svm_msg_q_ring_is_full (mq, SESSION_MQ_IO_EVT_RING)))
{
svm_msg_q_unlock (mq);
return -2;