rt2x00: Fix queue index handling
When Q_INDEX is increased, the queue->length should be increased, only when Q_INDEX_DONE is increased should queue_length be descreased. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
5957da4c6e
commit
10b6b80145
1 changed files with 6 additions and 2 deletions
|
@ -84,8 +84,12 @@ void rt2x00queue_index_inc(struct data_queue *queue, enum queue_index index)
|
|||
if (queue->index[index] >= queue->limit)
|
||||
queue->index[index] = 0;
|
||||
|
||||
queue->length--;
|
||||
queue->count += (index == Q_INDEX_DONE);
|
||||
if (index == Q_INDEX) {
|
||||
queue->length++;
|
||||
} else if (index == Q_INDEX_DONE) {
|
||||
queue->length--;
|
||||
queue->count ++;
|
||||
}
|
||||
|
||||
spin_unlock(&queue->lock);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue