Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 184100
b: refs/heads/master
c: 4cad6c7
h: refs/heads/master
v: v3
  • Loading branch information
Sujith authored and John W. Linville committed Feb 10, 2010
1 parent 1738ad5 commit a1e5684
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f32338319f10c4ca5499c19edc5b3618896920ba
refs/heads/master: 4cad6c7c38930618d77e65af82c1403d63879eee
8 changes: 8 additions & 0 deletions trunk/net/mac80211/agg-tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,14 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid)
sdata->vif.type != NL80211_IFTYPE_AP)
return -EINVAL;

if (test_sta_flags(sta, WLAN_STA_DISASSOC)) {
#ifdef CONFIG_MAC80211_HT_DEBUG
printk(KERN_DEBUG "Disassociation is in progress. "
"Denying BA session request\n");
#endif
return -EINVAL;
}

if (test_sta_flags(sta, WLAN_STA_SUSPEND)) {
#ifdef CONFIG_MAC80211_HT_DEBUG
printk(KERN_DEBUG "Suspend in progress. "
Expand Down
4 changes: 3 additions & 1 deletion trunk/net/mac80211/mlme.c
Original file line number Diff line number Diff line change
Expand Up @@ -797,8 +797,10 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata)

rcu_read_lock();
sta = sta_info_get(sdata, bssid);
if (sta)
if (sta) {
set_sta_flags(sta, WLAN_STA_DISASSOC);
ieee80211_sta_tear_down_BA_sessions(sta);
}
rcu_read_unlock();

changed |= ieee80211_reset_erp_info(sdata);
Expand Down
4 changes: 4 additions & 0 deletions trunk/net/mac80211/sta_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@
* be in the queues
* @WLAN_STA_PSPOLL: Station sent PS-poll while driver was keeping
* station in power-save mode, reply when the driver unblocks.
* @WLAN_STA_DISASSOC: Disassociation in progress.
* This is used to reject TX BA session requests when disassociation
* is in progress.
*/
enum ieee80211_sta_info_flags {
WLAN_STA_AUTH = 1<<0,
Expand All @@ -57,6 +60,7 @@ enum ieee80211_sta_info_flags {
WLAN_STA_SUSPEND = 1<<11,
WLAN_STA_PS_DRIVER = 1<<12,
WLAN_STA_PSPOLL = 1<<13,
WLAN_STA_DISASSOC = 1<<14,
};

#define STA_TID_NUM 16
Expand Down

0 comments on commit a1e5684

Please sign in to comment.