From c68699123851642b3d695107c1b207de9f97bace Mon Sep 17 00:00:00 2001 From: Isak Westin Date: Thu, 6 Oct 2022 16:59:27 +0200 Subject: [PATCH] mesh: Fix msg cache ring buffer The message cache should be a strict ring buffer, suppressed message should not move to the front of the queue. Signed-off-by: Manika Shrivastava Signed-off-by: Ayush Garg --- mesh/net.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mesh/net.c b/mesh/net.c index ad00333..8058b19 100644 --- a/mesh/net.c +++ b/mesh/net.c @@ -1024,12 +1024,11 @@ static bool msg_in_cache(struct mesh_net *net, uint16_t src, uint32_t seq, .mic = mic, }; - msg = l_queue_remove_if(net->msg_cache, match_cache, &tst); + msg = l_queue_find(net->msg_cache, match_cache, &tst); if (msg) { l_debug("Supressing duplicate %4.4x + %6.6x + %8.8x", src, seq, mic); - l_queue_push_head(net->msg_cache, msg); return true; } -- 2.7.4