提交 10b6b801 编写于 作者: I Ivo van Doorn 提交者: John W. Linville

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: NIvo van Doorn <IvDoorn@gmail.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 5957da4c
...@@ -84,8 +84,12 @@ void rt2x00queue_index_inc(struct data_queue *queue, enum queue_index index) ...@@ -84,8 +84,12 @@ void rt2x00queue_index_inc(struct data_queue *queue, enum queue_index index)
if (queue->index[index] >= queue->limit) if (queue->index[index] >= queue->limit)
queue->index[index] = 0; queue->index[index] = 0;
queue->length--; if (index == Q_INDEX) {
queue->count += (index == Q_INDEX_DONE); queue->length++;
} else if (index == Q_INDEX_DONE) {
queue->length--;
queue->count ++;
}
spin_unlock(&queue->lock); spin_unlock(&queue->lock);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册