]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ath9k_htc: Avoid setting QoS control for non-QoS frames
authorRajkumar Manoharan <rmanoharan@atheros.com>
Thu, 18 Nov 2010 06:49:52 +0000 (12:19 +0530)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 9 Dec 2010 21:32:04 +0000 (13:32 -0800)
commit 3bf30b56c4f0a1c4fae34050b7db4527c92891e8 upstream.

Setting tid information in the TX header is required only for QoS
frames. Not handling this case causes severe data loss with some APs.

Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c

index 2a6e45a293a90f38b7add877b0ca231c603ebe1b..f06eeab2a572f699eec29bfe04f155ceefd336be 100644 (file)
@@ -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;
                }