summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/300-pending_work.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-09-16 07:59:51 +0000
committerFelix Fietkau <nbd@openwrt.org>2011-09-16 07:59:51 +0000
commitdbde8f805e7dc7066d0ce3f4058383ab117c5b46 (patch)
treec6846ac89ee0aa43897bbcadb34e9409451d34d2 /package/mac80211/patches/300-pending_work.patch
parent22be36418e2f32eb058e303890bfc680342c377b (diff)
downloadmaster-31e0f0ae-dbde8f805e7dc7066d0ce3f4058383ab117c5b46.tar.gz
master-31e0f0ae-dbde8f805e7dc7066d0ce3f4058383ab117c5b46.tar.bz2
master-31e0f0ae-dbde8f805e7dc7066d0ce3f4058383ab117c5b46.zip
mac80211/ath9k: fix excessive "Failed to stop TX DMA" logspam in client mode
SVN-Revision: 28247
Diffstat (limited to 'package/mac80211/patches/300-pending_work.patch')
-rw-r--r--package/mac80211/patches/300-pending_work.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
index 596ef67a78..7a8e1b1e6a 100644
--- a/package/mac80211/patches/300-pending_work.patch
+++ b/package/mac80211/patches/300-pending_work.patch
@@ -2811,3 +2811,40 @@
ath9k_hw_start_nfcal(ah, true);
if (ah->caldata)
+--- a/net/mac80211/ieee80211_i.h
++++ b/net/mac80211/ieee80211_i.h
+@@ -671,7 +671,6 @@ enum queue_stop_reason {
+ IEEE80211_QUEUE_STOP_REASON_AGGREGATION,
+ IEEE80211_QUEUE_STOP_REASON_SUSPEND,
+ IEEE80211_QUEUE_STOP_REASON_SKB_ADD,
+- IEEE80211_QUEUE_STOP_REASON_CHTYPE_CHANGE,
+ };
+
+ #ifdef CONFIG_MAC80211_LEDS
+--- a/net/mac80211/mlme.c
++++ b/net/mac80211/mlme.c
+@@ -1921,24 +1921,8 @@ static void ieee80211_rx_mgmt_beacon(str
+
+ rcu_read_unlock();
+
+- /*
+- * Whenever the AP announces the HT mode change that can be
+- * 40MHz intolerant or etc., it would be safer to stop tx
+- * queues before doing hw config to avoid buffer overflow.
+- */
+- ieee80211_stop_queues_by_reason(&sdata->local->hw,
+- IEEE80211_QUEUE_STOP_REASON_CHTYPE_CHANGE);
+-
+- /* flush out all packets */
+- synchronize_net();
+-
+- drv_flush(local, false);
+-
+ changed |= ieee80211_enable_ht(sdata, elems.ht_info_elem,
+ bssid, ap_ht_cap_flags);
+-
+- ieee80211_wake_queues_by_reason(&sdata->local->hw,
+- IEEE80211_QUEUE_STOP_REASON_CHTYPE_CHANGE);
+ }
+
+ /* Note: country IE parsing is done for us by cfg80211 */