diff options
Diffstat (limited to 'sound/core/seq/seq_fifo.c')
-rw-r--r-- | sound/core/seq/seq_fifo.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/core/seq/seq_fifo.c b/sound/core/seq/seq_fifo.c index 1d5acbe0c08b..86240d02b530 100644 --- a/sound/core/seq/seq_fifo.c +++ b/sound/core/seq/seq_fifo.c | |||
@@ -135,6 +135,7 @@ int snd_seq_fifo_event_in(struct snd_seq_fifo *f, | |||
135 | f->tail = cell; | 135 | f->tail = cell; |
136 | if (f->head == NULL) | 136 | if (f->head == NULL) |
137 | f->head = cell; | 137 | f->head = cell; |
138 | cell->next = NULL; | ||
138 | f->cells++; | 139 | f->cells++; |
139 | spin_unlock_irqrestore(&f->lock, flags); | 140 | spin_unlock_irqrestore(&f->lock, flags); |
140 | 141 | ||
@@ -214,6 +215,8 @@ void snd_seq_fifo_cell_putback(struct snd_seq_fifo *f, | |||
214 | spin_lock_irqsave(&f->lock, flags); | 215 | spin_lock_irqsave(&f->lock, flags); |
215 | cell->next = f->head; | 216 | cell->next = f->head; |
216 | f->head = cell; | 217 | f->head = cell; |
218 | if (!f->tail) | ||
219 | f->tail = cell; | ||
217 | f->cells++; | 220 | f->cells++; |
218 | spin_unlock_irqrestore(&f->lock, flags); | 221 | spin_unlock_irqrestore(&f->lock, flags); |
219 | } | 222 | } |