summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRajkumar Manoharan <rmanoharan@atheros.com>2010-11-18 07:49:52 +0100
committerJohn W. Linville <linville@tuxdriver.com>2010-11-18 19:17:47 +0100
commit3bf30b56c4f0a1c4fae34050b7db4527c92891e8 (patch)
treebad5fede5c21abc8945d57594ad6617b2a5b1981
parentcfg80211: fix can_beacon_sec_chan, reenable HT40 (diff)
downloadlinux-3bf30b56c4f0a1c4fae34050b7db4527c92891e8.tar.xz
linux-3bf30b56c4f0a1c4fae34050b7db4527c92891e8.zip
ath9k_htc: Avoid setting QoS control for non-QoS frames
Setting tid information in the TX header is required only for QoS frames. Not handling this case causes severe data loss with some APs. Cc: stable@kernel.org Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/ath9k/htc_drv_txrx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
index 3d19b5bc937f..29d80ca78393 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
@@ -121,7 +121,7 @@ int ath9k_htc_tx_start(struct ath9k_htc_priv *priv, struct sk_buff *skb)
tx_hdr.data_type = ATH9K_HTC_NORMAL;
}
- if (ieee80211_is_data(fc)) {
+ if (ieee80211_is_data_qos(fc)) {
qc = ieee80211_get_qos_ctl(hdr);
tx_hdr.tidno = qc[0] & IEEE80211_QOS_CTL_TID_MASK;
}