aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/agg-tx.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/agg-tx.c')
-rw-r--r--net/mac80211/agg-tx.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c
index 5538e1b4a697..608063f11797 100644
--- a/net/mac80211/agg-tx.c
+++ b/net/mac80211/agg-tx.c
@@ -14,6 +14,7 @@
14 */ 14 */
15 15
16#include <linux/ieee80211.h> 16#include <linux/ieee80211.h>
17#include <linux/slab.h>
17#include <net/mac80211.h> 18#include <net/mac80211.h>
18#include "ieee80211_i.h" 19#include "ieee80211_i.h"
19#include "driver-ops.h" 20#include "driver-ops.h"
@@ -214,6 +215,8 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid)
214 int ret = 0; 215 int ret = 0;
215 u16 start_seq_num; 216 u16 start_seq_num;
216 217
218 trace_api_start_tx_ba_session(pubsta, tid);
219
217 if (WARN_ON(!local->ops->ampdu_action)) 220 if (WARN_ON(!local->ops->ampdu_action))
218 return -EINVAL; 221 return -EINVAL;
219 222
@@ -245,7 +248,7 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid)
245 return -EINVAL; 248 return -EINVAL;
246 } 249 }
247 250
248 if (test_sta_flags(sta, WLAN_STA_SUSPEND)) { 251 if (test_sta_flags(sta, WLAN_STA_BLOCK_BA)) {
249#ifdef CONFIG_MAC80211_HT_DEBUG 252#ifdef CONFIG_MAC80211_HT_DEBUG
250 printk(KERN_DEBUG "Suspend in progress. " 253 printk(KERN_DEBUG "Suspend in progress. "
251 "Denying BA session request\n"); 254 "Denying BA session request\n");
@@ -414,7 +417,7 @@ static void ieee80211_agg_tx_operational(struct ieee80211_local *local,
414 struct sta_info *sta, u16 tid) 417 struct sta_info *sta, u16 tid)
415{ 418{
416#ifdef CONFIG_MAC80211_HT_DEBUG 419#ifdef CONFIG_MAC80211_HT_DEBUG
417 printk(KERN_DEBUG "Aggregation is on for tid %d \n", tid); 420 printk(KERN_DEBUG "Aggregation is on for tid %d\n", tid);
418#endif 421#endif
419 422
420 spin_lock(&local->ampdu_lock); 423 spin_lock(&local->ampdu_lock);
@@ -440,6 +443,8 @@ void ieee80211_start_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u16 tid)
440 struct sta_info *sta; 443 struct sta_info *sta;
441 u8 *state; 444 u8 *state;
442 445
446 trace_api_start_tx_ba_cb(sdata, ra, tid);
447
443 if (tid >= STA_TID_NUM) { 448 if (tid >= STA_TID_NUM) {
444#ifdef CONFIG_MAC80211_HT_DEBUG 449#ifdef CONFIG_MAC80211_HT_DEBUG
445 printk(KERN_DEBUG "Bad TID value: tid = %d (>= %d)\n", 450 printk(KERN_DEBUG "Bad TID value: tid = %d (>= %d)\n",
@@ -541,6 +546,8 @@ int ieee80211_stop_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid,
541 struct ieee80211_sub_if_data *sdata = sta->sdata; 546 struct ieee80211_sub_if_data *sdata = sta->sdata;
542 struct ieee80211_local *local = sdata->local; 547 struct ieee80211_local *local = sdata->local;
543 548
549 trace_api_stop_tx_ba_session(pubsta, tid, initiator);
550
544 if (!local->ops->ampdu_action) 551 if (!local->ops->ampdu_action)
545 return -EINVAL; 552 return -EINVAL;
546 553
@@ -558,6 +565,8 @@ void ieee80211_stop_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u8 tid)
558 struct sta_info *sta; 565 struct sta_info *sta;
559 u8 *state; 566 u8 *state;
560 567
568 trace_api_stop_tx_ba_cb(sdata, ra, tid);
569
561 if (tid >= STA_TID_NUM) { 570 if (tid >= STA_TID_NUM) {
562#ifdef CONFIG_MAC80211_HT_DEBUG 571#ifdef CONFIG_MAC80211_HT_DEBUG
563 printk(KERN_DEBUG "Bad TID value: tid = %d (>= %d)\n", 572 printk(KERN_DEBUG "Bad TID value: tid = %d (>= %d)\n",
@@ -674,7 +683,7 @@ void ieee80211_process_addba_resp(struct ieee80211_local *local,
674 del_timer(&sta->ampdu_mlme.tid_tx[tid]->addba_resp_timer); 683 del_timer(&sta->ampdu_mlme.tid_tx[tid]->addba_resp_timer);
675 684
676#ifdef CONFIG_MAC80211_HT_DEBUG 685#ifdef CONFIG_MAC80211_HT_DEBUG
677 printk(KERN_DEBUG "switched off addBA timer for tid %d \n", tid); 686 printk(KERN_DEBUG "switched off addBA timer for tid %d\n", tid);
678#endif /* CONFIG_MAC80211_HT_DEBUG */ 687#endif /* CONFIG_MAC80211_HT_DEBUG */
679 688
680 if (le16_to_cpu(mgmt->u.action.u.addba_resp.status) 689 if (le16_to_cpu(mgmt->u.action.u.addba_resp.status)