diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-09-16 07:59:51 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-09-16 07:59:51 +0000 |
commit | 72225d6800d48bc70fc60cb8369c84536f727d43 (patch) | |
tree | d6b0e7cc278e73a9f1079e36c6072b0bf393b209 /package | |
parent | 4669033c1418465423dd5ee5410224161801525d (diff) |
mac80211/ath9k: fix excessive "Failed to stop TX DMA" logspam in client mode
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28247 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r-- | package/mac80211/patches/300-pending_work.patch | 37 | ||||
-rw-r--r-- | package/mac80211/patches/310-ibss_ht.patch | 6 |
2 files changed, 40 insertions, 3 deletions
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch index 596ef67a7..7a8e1b1e6 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 */ diff --git a/package/mac80211/patches/310-ibss_ht.patch b/package/mac80211/patches/310-ibss_ht.patch index 1acd253f0..6e0de5b46 100644 --- a/package/mac80211/patches/310-ibss_ht.patch +++ b/package/mac80211/patches/310-ibss_ht.patch @@ -169,7 +169,7 @@ unsigned long ibss_join_req; /* probe response/beacon for IBSS */ -@@ -1091,6 +1092,7 @@ void ieee80211_ibss_notify_scan_complete +@@ -1090,6 +1091,7 @@ void ieee80211_ibss_notify_scan_complete void ieee80211_ibss_setup_sdata(struct ieee80211_sub_if_data *sdata); struct sta_info *ieee80211_ibss_add_sta(struct ieee80211_sub_if_data *sdata, u8 *bssid, u8 *addr, u32 supp_rates, @@ -177,7 +177,7 @@ gfp_t gfp); int ieee80211_ibss_join(struct ieee80211_sub_if_data *sdata, struct cfg80211_ibss_params *params); -@@ -1344,6 +1346,12 @@ void ieee80211_recalc_smps(struct ieee80 +@@ -1343,6 +1345,12 @@ void ieee80211_recalc_smps(struct ieee80 size_t ieee80211_ie_split(const u8 *ies, size_t ielen, const u8 *ids, int n_ids, size_t offset); size_t ieee80211_ie_split_vendor(const u8 *ies, size_t ielen, size_t offset); @@ -190,7 +190,7 @@ /* internal work items */ void ieee80211_work_init(struct ieee80211_local *local); -@@ -1372,6 +1380,8 @@ ieee80211_get_channel_mode(struct ieee80 +@@ -1371,6 +1379,8 @@ ieee80211_get_channel_mode(struct ieee80 bool ieee80211_set_channel_type(struct ieee80211_local *local, struct ieee80211_sub_if_data *sdata, enum nl80211_channel_type chantype); |