aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00queue.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00queue.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00queue.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c
index ecf57635ae51..6d41599a090c 100644
--- a/drivers/net/wireless/rt2x00/rt2x00queue.c
+++ b/drivers/net/wireless/rt2x00/rt2x00queue.c
@@ -731,13 +731,13 @@ void rt2x00queue_index_inc(struct data_queue *queue, enum queue_index index)
731 if (queue->index[index] >= queue->limit) 731 if (queue->index[index] >= queue->limit)
732 queue->index[index] = 0; 732 queue->index[index] = 0;
733 733
734 queue->last_action[index] = jiffies;
735
734 if (index == Q_INDEX) { 736 if (index == Q_INDEX) {
735 queue->length++; 737 queue->length++;
736 queue->last_index = jiffies;
737 } else if (index == Q_INDEX_DONE) { 738 } else if (index == Q_INDEX_DONE) {
738 queue->length--; 739 queue->length--;
739 queue->count++; 740 queue->count++;
740 queue->last_index_done = jiffies;
741 } 741 }
742 742
743 spin_unlock_irqrestore(&queue->lock, irqflags); 743 spin_unlock_irqrestore(&queue->lock, irqflags);
@@ -746,14 +746,17 @@ void rt2x00queue_index_inc(struct data_queue *queue, enum queue_index index)
746static void rt2x00queue_reset(struct data_queue *queue) 746static void rt2x00queue_reset(struct data_queue *queue)
747{ 747{
748 unsigned long irqflags; 748 unsigned long irqflags;
749 unsigned int i;
749 750
750 spin_lock_irqsave(&queue->lock, irqflags); 751 spin_lock_irqsave(&queue->lock, irqflags);
751 752
752 queue->count = 0; 753 queue->count = 0;
753 queue->length = 0; 754 queue->length = 0;
754 queue->last_index = jiffies; 755
755 queue->last_index_done = jiffies; 756 for (i = 0; i < Q_INDEX_MAX; i++) {
756 memset(queue->index, 0, sizeof(queue->index)); 757 queue->index[i] = 0;
758 queue->last_action[i] = jiffies;
759 }
757 760
758 spin_unlock_irqrestore(&queue->lock, irqflags); 761 spin_unlock_irqrestore(&queue->lock, irqflags);
759} 762}