summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-commands.h
diff options
context:
space:
mode:
authorEmmanuel Grumbach2012-02-01 16:01:32 +0100
committerJohn W. Linville2012-02-01 21:26:00 +0100
commit3d29dd9b5b160ba4542a9b8f869a220559e633a0 (patch)
tree300ef96f8681c3b853686b11b04062f3045860f2 /drivers/net/wireless/iwlwifi/iwl-commands.h
parentssb: fix cardbus slot in hostmode (diff)
downloadkernel-qcow2-linux-3d29dd9b5b160ba4542a9b8f869a220559e633a0.tar.gz
kernel-qcow2-linux-3d29dd9b5b160ba4542a9b8f869a220559e633a0.tar.xz
kernel-qcow2-linux-3d29dd9b5b160ba4542a9b8f869a220559e633a0.zip
iwlwifi: don't mess up QoS counters with non-QoS frames
In my AMPDU rework, I rely on the sequence numbers of frames. But I didn't check that the frame has a valid tid before updating the tracking counters. As a result, the Tx queues were stalled. People who hit this bug saw that we simply didn't let any data out. This bug was introduced in 3.3. This patch fixes that and checks that the frame is a QoS frame before looking at its tid and changing the counters. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-commands.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-commands.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h
index 265de39d394c..f822ac447c3b 100644
--- a/drivers/net/wireless/iwlwifi/iwl-commands.h
+++ b/drivers/net/wireless/iwlwifi/iwl-commands.h
@@ -815,6 +815,7 @@ struct iwl_qosparam_cmd {
#define IWL_INVALID_STATION 255
#define IWL_MAX_TID_COUNT 8
+#define IWL_TID_NON_QOS IWL_MAX_TID_COUNT
#define STA_FLG_TX_RATE_MSK cpu_to_le32(1 << 2)
#define STA_FLG_PWR_SAVE_MSK cpu_to_le32(1 << 8)