aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/sta_info.c
diff options
context:
space:
mode:
authorRon Rindjunsky <ron.rindjunsky@intel.com>2007-12-25 10:00:33 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:00:59 -0500
commit07db218396650933abff3c5c1ad1e2a6e0cfedeb (patch)
treee81672015dba20e146b2eea30aea9449f5833a44 /net/mac80211/sta_info.c
parent5aae2880618471cfa679ca22531b88990bee9bf8 (diff)
mac80211: A-MPDU Rx adding basic functionality
This patch adds the basic needed abilities and functions for A-MPDU Rx session changed functions: - ieee80211_sta_process_addba_request - Rx A-MPDU initialization enabled - ieee80211_stop - stops all A-MPDU Rx in case interface goes down added functions: - ieee80211_send_delba - used for sending out Del BA in A-MPDU sessions - ieee80211_sta_stop_rx_BA_session - stopping Rx A-MPDU session - sta_rx_agg_session_timer_expired - stops A-MPDU Rx use if load is too low Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac80211/sta_info.c')
-rw-r--r--net/mac80211/sta_info.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index ffe8a49d8927..60ca07804056 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -104,6 +104,7 @@ static void sta_info_release(struct kref *kref)
104 struct sta_info *sta = container_of(kref, struct sta_info, kref); 104 struct sta_info *sta = container_of(kref, struct sta_info, kref);
105 struct ieee80211_local *local = sta->local; 105 struct ieee80211_local *local = sta->local;
106 struct sk_buff *skb; 106 struct sk_buff *skb;
107 int i;
107 108
108 /* free sta structure; it has already been removed from 109 /* free sta structure; it has already been removed from
109 * hash table etc. external structures. Make sure that all 110 * hash table etc. external structures. Make sure that all
@@ -116,6 +117,8 @@ static void sta_info_release(struct kref *kref)
116 while ((skb = skb_dequeue(&sta->tx_filtered)) != NULL) { 117 while ((skb = skb_dequeue(&sta->tx_filtered)) != NULL) {
117 dev_kfree_skb_any(skb); 118 dev_kfree_skb_any(skb);
118 } 119 }
120 for (i = 0; i < STA_TID_NUM; i++)
121 del_timer_sync(&sta->ampdu_mlme.tid_rx[i].session_timer);
119 rate_control_free_sta(sta->rate_ctrl, sta->rate_ctrl_priv); 122 rate_control_free_sta(sta->rate_ctrl, sta->rate_ctrl_priv);
120 rate_control_put(sta->rate_ctrl); 123 rate_control_put(sta->rate_ctrl);
121 kfree(sta); 124 kfree(sta);