]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ath5k: fix hardware queue index assignment
authorFelix Fietkau <nbd@openwrt.org>
Sun, 30 Nov 2014 20:52:57 +0000 (21:52 +0100)
committerZefan Li <lizefan@huawei.com>
Tue, 14 Apr 2015 09:33:44 +0000 (17:33 +0800)
commit 9e4982f6a51a2442f1bb588fee42521b44b4531c upstream.

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.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Zefan Li <lizefan@huawei.com>
drivers/net/wireless/ath/ath5k/qcu.c

index 30b50f934172d59aca3f183c4004a715fbdf9052..19ba20473cd74d0b690fb33d5833fa48c71ba00f 100644 (file)
@@ -223,13 +223,7 @@ ath5k_hw_setup_tx_queue(struct ath5k_hw *ah, enum ath5k_tx_queue queue_type,
        } 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;