From 8b4d474abd62c623502ad9a4a279a9b4535ca0c1 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Wed, 12 May 2021 14:43:21 +0200 Subject: avf: avoid eating our own tail This happens in case we are not able to refill ring with new buffers. Type: fix Change-Id: I727e55c5b8482d9b8aeb4a9933a9a755fe21e55f Signed-off-by: Damjan Marion --- src/plugins/avf/input.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/plugins/avf/input.c b/src/plugins/avf/input.c index 6e437da2a16..4d037b44a28 100644 --- a/src/plugins/avf/input.c +++ b/src/plugins/avf/input.c @@ -428,6 +428,9 @@ no_more_desc: rxq->next = next; rxq->n_enqueued -= n_rx_packets + n_tail_desc; + /* avoid eating our own tail */ + rxq->descs[(next + rxq->n_enqueued) & mask].qword[1] = 0; + #if defined(CLIB_HAVE_VEC256) || defined(CLIB_HAVE_VEC128) or_qw1 |= or_q1x4[0] | or_q1x4[1] | or_q1x4[2] | or_q1x4[3]; #endif -- cgit 1.2.3-korg