summaryrefslogtreecommitdiffstats
path: root/package/mac80211
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-09-25 16:20:30 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-09-25 16:20:30 +0000
commit19e799bd4e1a3f027f8eb3c7180b995c169b716b (patch)
tree1de383ee233c966e41887ad5330dd63878155d79 /package/mac80211
parent2932badd051242cb4cd17d99757eae535522e492 (diff)
mac80211: avoid sending useless delBA frames on client disassoc
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33551 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211')
-rw-r--r--package/mac80211/patches/300-pending_work.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
index 51383a667..1e25e352c 100644
--- a/package/mac80211/patches/300-pending_work.patch
+++ b/package/mac80211/patches/300-pending_work.patch
@@ -40,6 +40,15 @@
sdata->vif.type != NL80211_IFTYPE_ADHOC)
return -EINVAL;
+@@ -869,7 +871,7 @@ void ieee80211_process_addba_resp(struct
+
+ } else {
+ ___ieee80211_stop_tx_ba_session(sta, tid, WLAN_BACK_INITIATOR,
+- true);
++ false);
+ }
+
+ out:
--- a/net/mac80211/debugfs_sta.c
+++ b/net/mac80211/debugfs_sta.c
@@ -63,11 +63,11 @@ static ssize_t sta_flags_read(struct fil
@@ -375,3 +384,25 @@
rfilt |= ATH9K_RX_FILTER_PROM;
rfilt |= ATH9K_RX_FILTER_MCAST_BCAST_ALL;
}
+--- a/net/mac80211/mlme.c
++++ b/net/mac80211/mlme.c
+@@ -1390,7 +1390,7 @@ static void ieee80211_set_disassoc(struc
+ sta = sta_info_get(sdata, ifmgd->bssid);
+ if (sta) {
+ set_sta_flag(sta, WLAN_STA_BLOCK_BA);
+- ieee80211_sta_tear_down_BA_sessions(sta, tx);
++ ieee80211_sta_tear_down_BA_sessions(sta, false);
+ }
+ mutex_unlock(&local->sta_mtx);
+
+--- a/net/mac80211/sta_info.c
++++ b/net/mac80211/sta_info.c
+@@ -674,7 +674,7 @@ int __must_check __sta_info_destroy(stru
+ * will be sufficient.
+ */
+ set_sta_flag(sta, WLAN_STA_BLOCK_BA);
+- ieee80211_sta_tear_down_BA_sessions(sta, true);
++ ieee80211_sta_tear_down_BA_sessions(sta, false);
+
+ ret = sta_info_hash_del(local, sta);
+ if (ret)