diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-11-30 15:52:57 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-12-01 15:57:22 -0500 |
commit | 9e4982f6a51a2442f1bb588fee42521b44b4531c (patch) | |
tree | f4bd96d06313fdb99e9ffe616617b62e2bd3e3c7 /drivers/net/wireless/ath/ath5k | |
parent | 78063d81d353e10cbdd279c490593113b8fdae1c (diff) |
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: stable@vger.kernel.org
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath5k')
-rw-r--r-- | drivers/net/wireless/ath/ath5k/qcu.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/net/wireless/ath/ath5k/qcu.c b/drivers/net/wireless/ath/ath5k/qcu.c index 0583c69d26db..ddaad712c59a 100644 --- 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 *ah, enum ath5k_tx_queue queue_type, | |||
225 | } else { | 225 | } else { |
226 | switch (queue_type) { | 226 | switch (queue_type) { |
227 | case AR5K_TX_QUEUE_DATA: | 227 | case AR5K_TX_QUEUE_DATA: |
228 | for (queue = AR5K_TX_QUEUE_ID_DATA_MIN; | 228 | queue = queue_info->tqi_subtype; |
229 | ah->ah_txq[queue].tqi_type != | ||
230 | AR5K_TX_QUEUE_INACTIVE; queue++) { | ||
231 | |||
232 | if (queue > AR5K_TX_QUEUE_ID_DATA_MAX) | ||
233 | return -EINVAL; | ||
234 | } | ||
235 | break; | 229 | break; |
236 | case AR5K_TX_QUEUE_UAPSD: | 230 | case AR5K_TX_QUEUE_UAPSD: |
237 | queue = AR5K_TX_QUEUE_ID_UAPSD; | 231 | queue = AR5K_TX_QUEUE_ID_UAPSD; |