From 73cad33b56ffc08943e9c0d73ecb14466558baae Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Wed, 28 Aug 2019 17:12:32 -0700 Subject: svm: fix fifo hdr freelist allocation Type: fix Change-Id: Ia362ad821db1fd506e973e1844cc3ec74703cc17 Signed-off-by: Florin Coras --- src/svm/fifo_segment.c | 4 ++++ src/svm/svm_fifo.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src/svm') diff --git a/src/svm/fifo_segment.c b/src/svm/fifo_segment.c index eeb274636c1..dab97a55209 100644 --- a/src/svm/fifo_segment.c +++ b/src/svm/fifo_segment.c @@ -233,6 +233,10 @@ fs_try_alloc_fifo_freelist_multi_chunk (fifo_segment_t * fs, u32 data_bytes) return 0; memset (f, 0, sizeof (*f)); } + else + { + fsh->free_fifos = f->next; + } fl_index = fs_freelist_for_size (data_bytes) - 1; vec_validate_init_empty (fsh->free_chunks, fl_index, 0); diff --git a/src/svm/svm_fifo.c b/src/svm/svm_fifo.c index b6f0df7d88d..6bd6f9157bc 100644 --- a/src/svm/svm_fifo.c +++ b/src/svm/svm_fifo.c @@ -400,7 +400,7 @@ svm_fifo_init (svm_fifo_t * f, u32 size) f->ooos_list_head = OOO_SEGMENT_INVALID_INDEX; f->segment_index = SVM_FIFO_INVALID_INDEX; f->refcnt = 1; - f->flags = 0; + f->head = f->tail = f->flags = 0; f->head_chunk = f->tail_chunk = f->ooo_enq = f->ooo_deq = f->start_chunk; } -- cgit 1.2.3-korg