when the configuration of tx queues is larger than the worker-threads,
the clib_spinlock_lock_if_init will not be executed, and then this function
will executed the clib_spinlock_unlock_if_init, so this may caused the issue.
Type: fix
Signed-off-by: fangtong <fangtong2007@163.com>
Change-Id: I3ce244cd5e1f410e9f14bd060b929238f069b9fa
{
ASSERT (tx_queues > 0);
mq = vec_elt_at_index (mif->tx_queues, thread_index % tx_queues);
- clib_spinlock_lock_if_init (&mif->lockp);
}
else
mq = vec_elt_at_index (mif->tx_queues, thread_index);
+ clib_spinlock_lock_if_init (&mif->lockp);
+
from = vlib_frame_vector_args (frame);
n_left = frame->n_vectors;
if (mif->flags & MEMIF_IF_FLAG_ZERO_COPY)