diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-11-30 21:05:17 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2014-11-30 21:05:17 +0000 |
commit | d6ec05aec4810caac3f067b0fa4d358af353987d (patch) | |
tree | 68f68be6268e4c8caad783924ae2a575804f2d09 /package/kernel | |
parent | 6210a5087336ebbfdc1fc3ccb60267c32a2287bb (diff) | |
download | upstream-d6ec05aec4810caac3f067b0fa4d358af353987d.tar.gz upstream-d6ec05aec4810caac3f067b0fa4d358af353987d.tar.bz2 upstream-d6ec05aec4810caac3f067b0fa4d358af353987d.zip |
ath5k: fix hardware queue index assignment
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43442 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/kernel')
-rw-r--r-- | package/kernel/mac80211/patches/326-ath5k-fix-hardware-queue-index-assignment.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/326-ath5k-fix-hardware-queue-index-assignment.patch b/package/kernel/mac80211/patches/326-ath5k-fix-hardware-queue-index-assignment.patch new file mode 100644 index 0000000000..81807a9be3 --- /dev/null +++ b/package/kernel/mac80211/patches/326-ath5k-fix-hardware-queue-index-assignment.patch @@ -0,0 +1,29 @@ +From: Felix Fietkau <nbd@openwrt.org> +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: stable@vger.kernel.org +Signed-off-by: Felix Fietkau <nbd@openwrt.org> +--- + +--- 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; |