Browse Source

ath5k: fix hardware queue index assignment

Signed-off-by: Felix Fietkau <[email protected]>

SVN-Revision: 43442
Felix Fietkau 11 years ago
parent
commit
62100c31d6

+ 29 - 0
package/kernel/mac80211/patches/326-ath5k-fix-hardware-queue-index-assignment.patch

@@ -0,0 +1,29 @@
+From: Felix Fietkau <[email protected]>
+Date: Sun, 30 Nov 2014 21:51:12 +0100
+Subject: [PATCH] ath5k: fix hardware queue index assignment
+
+Like with ath9k, ath5k queues also need to be ordered by priority.
+queue_info->tqi_subtype already contains the correct index, so use it
+instead of relying on the order of ath5k_hw_setup_tx_queue calls.
+
+Cc: [email protected]
+Signed-off-by: Felix Fietkau <[email protected]>
+---
+
+--- a/drivers/net/wireless/ath/ath5k/qcu.c
++++ b/drivers/net/wireless/ath/ath5k/qcu.c
+@@ -225,13 +225,7 @@ ath5k_hw_setup_tx_queue(struct ath5k_hw 
+ 	} else {
+ 		switch (queue_type) {
+ 		case AR5K_TX_QUEUE_DATA:
+-			for (queue = AR5K_TX_QUEUE_ID_DATA_MIN;
+-				ah->ah_txq[queue].tqi_type !=
+-				AR5K_TX_QUEUE_INACTIVE; queue++) {
+-
+-				if (queue > AR5K_TX_QUEUE_ID_DATA_MAX)
+-					return -EINVAL;
+-			}
++			queue = queue_info->tqi_subtype;
+ 			break;
+ 		case AR5K_TX_QUEUE_UAPSD:
+ 			queue = AR5K_TX_QUEUE_ID_UAPSD;