diff options
-rw-r--r-- | include/net/mac80211.h | 13 | ||||
-rw-r--r-- | net/mac80211/agg-rx.c | 24 | ||||
-rw-r--r-- | net/mac80211/agg-tx.c | 103 |
3 files changed, 50 insertions, 90 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 0286c0476e44..808462e2a71d 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -3844,4 +3844,17 @@ int ieee80211_add_ext_srates_ie(struct ieee80211_vif *vif, | |||
3844 | */ | 3844 | */ |
3845 | int ieee80211_ave_rssi(struct ieee80211_vif *vif); | 3845 | int ieee80211_ave_rssi(struct ieee80211_vif *vif); |
3846 | 3846 | ||
3847 | /* Extra debugging macros */ | ||
3848 | |||
3849 | #ifdef CONFIG_MAC80211_HT_DEBUG | ||
3850 | #define ht_vdbg(fmt, ...) \ | ||
3851 | pr_debug(fmt, ##__VA_ARGS__) | ||
3852 | #else | ||
3853 | #define ht_vdbg(fmt, ...) \ | ||
3854 | do { \ | ||
3855 | if (0) \ | ||
3856 | pr_debug(fmt, ##__VA_ARGS__); \ | ||
3857 | } while (0) | ||
3858 | #endif | ||
3859 | |||
3847 | #endif /* MAC80211_H */ | 3860 | #endif /* MAC80211_H */ |
diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c index ec55f42705b7..a096b0dae37d 100644 --- a/net/mac80211/agg-rx.c +++ b/net/mac80211/agg-rx.c | |||
@@ -74,12 +74,10 @@ void ___ieee80211_stop_rx_ba_session(struct sta_info *sta, u16 tid, | |||
74 | 74 | ||
75 | RCU_INIT_POINTER(sta->ampdu_mlme.tid_rx[tid], NULL); | 75 | RCU_INIT_POINTER(sta->ampdu_mlme.tid_rx[tid], NULL); |
76 | 76 | ||
77 | #ifdef CONFIG_MAC80211_HT_DEBUG | 77 | ht_vdbg("Rx BA session stop requested for %pM tid %u %s reason: %d\n", |
78 | pr_debug("Rx BA session stop requested for %pM tid %u %s reason: %d\n", | 78 | sta->sta.addr, tid, |
79 | sta->sta.addr, tid, | 79 | initiator == WLAN_BACK_RECIPIENT ? "recipient" : "inititator", |
80 | initiator == WLAN_BACK_RECIPIENT ? "recipient" : "inititator", | 80 | (int)reason); |
81 | (int)reason); | ||
82 | #endif /* CONFIG_MAC80211_HT_DEBUG */ | ||
83 | 81 | ||
84 | if (drv_ampdu_action(local, sta->sdata, IEEE80211_AMPDU_RX_STOP, | 82 | if (drv_ampdu_action(local, sta->sdata, IEEE80211_AMPDU_RX_STOP, |
85 | &sta->sta, tid, NULL, 0)) | 83 | &sta->sta, tid, NULL, 0)) |
@@ -154,9 +152,8 @@ static void sta_rx_agg_session_timer_expired(unsigned long data) | |||
154 | return; | 152 | return; |
155 | } | 153 | } |
156 | 154 | ||
157 | #ifdef CONFIG_MAC80211_HT_DEBUG | 155 | ht_vdbg("rx session timer expired on tid %d\n", (u16)*ptid); |
158 | pr_debug("rx session timer expired on tid %d\n", (u16)*ptid); | 156 | |
159 | #endif | ||
160 | set_bit(*ptid, sta->ampdu_mlme.tid_rx_timer_expired); | 157 | set_bit(*ptid, sta->ampdu_mlme.tid_rx_timer_expired); |
161 | ieee80211_queue_work(&sta->local->hw, &sta->ampdu_mlme.work); | 158 | ieee80211_queue_work(&sta->local->hw, &sta->ampdu_mlme.work); |
162 | } | 159 | } |
@@ -243,9 +240,7 @@ void ieee80211_process_addba_request(struct ieee80211_local *local, | |||
243 | status = WLAN_STATUS_REQUEST_DECLINED; | 240 | status = WLAN_STATUS_REQUEST_DECLINED; |
244 | 241 | ||
245 | if (test_sta_flag(sta, WLAN_STA_BLOCK_BA)) { | 242 | if (test_sta_flag(sta, WLAN_STA_BLOCK_BA)) { |
246 | #ifdef CONFIG_MAC80211_HT_DEBUG | 243 | ht_vdbg("Suspend in progress - Denying ADDBA request\n"); |
247 | pr_debug("Suspend in progress - Denying ADDBA request\n"); | ||
248 | #endif | ||
249 | goto end_no_lock; | 244 | goto end_no_lock; |
250 | } | 245 | } |
251 | 246 | ||
@@ -317,10 +312,7 @@ void ieee80211_process_addba_request(struct ieee80211_local *local, | |||
317 | 312 | ||
318 | ret = drv_ampdu_action(local, sta->sdata, IEEE80211_AMPDU_RX_START, | 313 | ret = drv_ampdu_action(local, sta->sdata, IEEE80211_AMPDU_RX_START, |
319 | &sta->sta, tid, &start_seq_num, 0); | 314 | &sta->sta, tid, &start_seq_num, 0); |
320 | #ifdef CONFIG_MAC80211_HT_DEBUG | 315 | ht_vdbg("Rx A-MPDU request on tid %d result %d\n", tid, ret); |
321 | pr_debug("Rx A-MPDU request on tid %d result %d\n", tid, ret); | ||
322 | #endif /* CONFIG_MAC80211_HT_DEBUG */ | ||
323 | |||
324 | if (ret) { | 316 | if (ret) { |
325 | kfree(tid_agg_rx->reorder_buf); | 317 | kfree(tid_agg_rx->reorder_buf); |
326 | kfree(tid_agg_rx->reorder_time); | 318 | kfree(tid_agg_rx->reorder_time); |
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c index 90b2c0ffd5b0..da07f01cfe4d 100644 --- a/net/mac80211/agg-tx.c +++ b/net/mac80211/agg-tx.c | |||
@@ -184,10 +184,8 @@ int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, | |||
184 | 184 | ||
185 | spin_unlock_bh(&sta->lock); | 185 | spin_unlock_bh(&sta->lock); |
186 | 186 | ||
187 | #ifdef CONFIG_MAC80211_HT_DEBUG | 187 | ht_vdbg("Tx BA session stop requested for %pM tid %u\n", |
188 | pr_debug("Tx BA session stop requested for %pM tid %u\n", | 188 | sta->sta.addr, tid); |
189 | sta->sta.addr, tid); | ||
190 | #endif /* CONFIG_MAC80211_HT_DEBUG */ | ||
191 | 189 | ||
192 | del_timer_sync(&tid_tx->addba_resp_timer); | 190 | del_timer_sync(&tid_tx->addba_resp_timer); |
193 | del_timer_sync(&tid_tx->session_timer); | 191 | del_timer_sync(&tid_tx->session_timer); |
@@ -253,16 +251,12 @@ static void sta_addba_resp_timer_expired(unsigned long data) | |||
253 | if (!tid_tx || | 251 | if (!tid_tx || |
254 | test_bit(HT_AGG_STATE_RESPONSE_RECEIVED, &tid_tx->state)) { | 252 | test_bit(HT_AGG_STATE_RESPONSE_RECEIVED, &tid_tx->state)) { |
255 | rcu_read_unlock(); | 253 | rcu_read_unlock(); |
256 | #ifdef CONFIG_MAC80211_HT_DEBUG | 254 | ht_vdbg("timer expired on tid %d but we are not (or no longer) expecting addBA response there\n", |
257 | pr_debug("timer expired on tid %d but we are not (or no longer) expecting addBA response there\n", | 255 | tid); |
258 | tid); | ||
259 | #endif | ||
260 | return; | 256 | return; |
261 | } | 257 | } |
262 | 258 | ||
263 | #ifdef CONFIG_MAC80211_HT_DEBUG | 259 | ht_vdbg("addBA response timer expired on tid %d\n", tid); |
264 | pr_debug("addBA response timer expired on tid %d\n", tid); | ||
265 | #endif | ||
266 | 260 | ||
267 | ieee80211_stop_tx_ba_session(&sta->sta, tid); | 261 | ieee80211_stop_tx_ba_session(&sta->sta, tid); |
268 | rcu_read_unlock(); | 262 | rcu_read_unlock(); |
@@ -371,10 +365,7 @@ void ieee80211_tx_ba_session_handle_start(struct sta_info *sta, int tid) | |||
371 | ret = drv_ampdu_action(local, sdata, IEEE80211_AMPDU_TX_START, | 365 | ret = drv_ampdu_action(local, sdata, IEEE80211_AMPDU_TX_START, |
372 | &sta->sta, tid, &start_seq_num, 0); | 366 | &sta->sta, tid, &start_seq_num, 0); |
373 | if (ret) { | 367 | if (ret) { |
374 | #ifdef CONFIG_MAC80211_HT_DEBUG | 368 | ht_vdbg("BA request denied - HW unavailable for tid %d\n", tid); |
375 | pr_debug("BA request denied - HW unavailable for tid %d\n", | ||
376 | tid); | ||
377 | #endif | ||
378 | spin_lock_bh(&sta->lock); | 369 | spin_lock_bh(&sta->lock); |
379 | ieee80211_agg_splice_packets(sdata, tid_tx, tid); | 370 | ieee80211_agg_splice_packets(sdata, tid_tx, tid); |
380 | ieee80211_assign_tid_tx(sta, tid, NULL); | 371 | ieee80211_assign_tid_tx(sta, tid, NULL); |
@@ -387,9 +378,7 @@ void ieee80211_tx_ba_session_handle_start(struct sta_info *sta, int tid) | |||
387 | 378 | ||
388 | /* activate the timer for the recipient's addBA response */ | 379 | /* activate the timer for the recipient's addBA response */ |
389 | mod_timer(&tid_tx->addba_resp_timer, jiffies + ADDBA_RESP_INTERVAL); | 380 | mod_timer(&tid_tx->addba_resp_timer, jiffies + ADDBA_RESP_INTERVAL); |
390 | #ifdef CONFIG_MAC80211_HT_DEBUG | 381 | ht_vdbg("activated addBA response timer on tid %d\n", tid); |
391 | pr_debug("activated addBA response timer on tid %d\n", tid); | ||
392 | #endif | ||
393 | 382 | ||
394 | spin_lock_bh(&sta->lock); | 383 | spin_lock_bh(&sta->lock); |
395 | sta->ampdu_mlme.last_addba_req_time[tid] = jiffies; | 384 | sta->ampdu_mlme.last_addba_req_time[tid] = jiffies; |
@@ -436,9 +425,7 @@ static void sta_tx_agg_session_timer_expired(unsigned long data) | |||
436 | 425 | ||
437 | rcu_read_unlock(); | 426 | rcu_read_unlock(); |
438 | 427 | ||
439 | #ifdef CONFIG_MAC80211_HT_DEBUG | 428 | ht_vdbg("tx session timer expired on tid %d\n", (u16)*ptid); |
440 | pr_debug("tx session timer expired on tid %d\n", (u16)*ptid); | ||
441 | #endif | ||
442 | 429 | ||
443 | ieee80211_stop_tx_ba_session(&sta->sta, *ptid); | 430 | ieee80211_stop_tx_ba_session(&sta->sta, *ptid); |
444 | } | 431 | } |
@@ -462,10 +449,8 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid, | |||
462 | (local->hw.flags & IEEE80211_HW_TX_AMPDU_SETUP_IN_HW)) | 449 | (local->hw.flags & IEEE80211_HW_TX_AMPDU_SETUP_IN_HW)) |
463 | return -EINVAL; | 450 | return -EINVAL; |
464 | 451 | ||
465 | #ifdef CONFIG_MAC80211_HT_DEBUG | 452 | ht_vdbg("Open BA session requested for %pM tid %u\n", |
466 | pr_debug("Open BA session requested for %pM tid %u\n", | 453 | pubsta->addr, tid); |
467 | pubsta->addr, tid); | ||
468 | #endif /* CONFIG_MAC80211_HT_DEBUG */ | ||
469 | 454 | ||
470 | if (sdata->vif.type != NL80211_IFTYPE_STATION && | 455 | if (sdata->vif.type != NL80211_IFTYPE_STATION && |
471 | sdata->vif.type != NL80211_IFTYPE_MESH_POINT && | 456 | sdata->vif.type != NL80211_IFTYPE_MESH_POINT && |
@@ -475,9 +460,7 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid, | |||
475 | return -EINVAL; | 460 | return -EINVAL; |
476 | 461 | ||
477 | if (test_sta_flag(sta, WLAN_STA_BLOCK_BA)) { | 462 | if (test_sta_flag(sta, WLAN_STA_BLOCK_BA)) { |
478 | #ifdef CONFIG_MAC80211_HT_DEBUG | 463 | ht_vdbg("BA sessions blocked - Denying BA session request\n"); |
479 | pr_debug("BA sessions blocked - Denying BA session request\n"); | ||
480 | #endif | ||
481 | return -EINVAL; | 464 | return -EINVAL; |
482 | } | 465 | } |
483 | 466 | ||
@@ -495,10 +478,8 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid, | |||
495 | */ | 478 | */ |
496 | if (sta->sdata->vif.type == NL80211_IFTYPE_ADHOC && | 479 | if (sta->sdata->vif.type == NL80211_IFTYPE_ADHOC && |
497 | !sta->sta.ht_cap.ht_supported) { | 480 | !sta->sta.ht_cap.ht_supported) { |
498 | #ifdef CONFIG_MAC80211_HT_DEBUG | 481 | ht_vdbg("BA request denied - IBSS STA %pM does not advertise HT support\n", |
499 | pr_debug("BA request denied - IBSS STA %pM does not advertise HT support\n", | 482 | pubsta->addr); |
500 | pubsta->addr); | ||
501 | #endif /* CONFIG_MAC80211_HT_DEBUG */ | ||
502 | return -EINVAL; | 483 | return -EINVAL; |
503 | } | 484 | } |
504 | 485 | ||
@@ -518,10 +499,8 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid, | |||
518 | if (sta->ampdu_mlme.addba_req_num[tid] > HT_AGG_BURST_RETRIES && | 499 | if (sta->ampdu_mlme.addba_req_num[tid] > HT_AGG_BURST_RETRIES && |
519 | time_before(jiffies, sta->ampdu_mlme.last_addba_req_time[tid] + | 500 | time_before(jiffies, sta->ampdu_mlme.last_addba_req_time[tid] + |
520 | HT_AGG_RETRIES_PERIOD)) { | 501 | HT_AGG_RETRIES_PERIOD)) { |
521 | #ifdef CONFIG_MAC80211_HT_DEBUG | 502 | ht_vdbg("BA request denied - waiting a grace period after %d failed requests on tid %u\n", |
522 | pr_debug("BA request denied - waiting a grace period after %d failed requests on tid %u\n", | 503 | sta->ampdu_mlme.addba_req_num[tid], tid); |
523 | sta->ampdu_mlme.addba_req_num[tid], tid); | ||
524 | #endif /* CONFIG_MAC80211_HT_DEBUG */ | ||
525 | ret = -EBUSY; | 504 | ret = -EBUSY; |
526 | goto err_unlock_sta; | 505 | goto err_unlock_sta; |
527 | } | 506 | } |
@@ -529,10 +508,8 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid, | |||
529 | tid_tx = rcu_dereference_protected_tid_tx(sta, tid); | 508 | tid_tx = rcu_dereference_protected_tid_tx(sta, tid); |
530 | /* check if the TID is not in aggregation flow already */ | 509 | /* check if the TID is not in aggregation flow already */ |
531 | if (tid_tx || sta->ampdu_mlme.tid_start_tx[tid]) { | 510 | if (tid_tx || sta->ampdu_mlme.tid_start_tx[tid]) { |
532 | #ifdef CONFIG_MAC80211_HT_DEBUG | 511 | ht_vdbg("BA request denied - session is not idle on tid %u\n", |
533 | pr_debug("BA request denied - session is not idle on tid %u\n", | 512 | tid); |
534 | tid); | ||
535 | #endif /* CONFIG_MAC80211_HT_DEBUG */ | ||
536 | ret = -EAGAIN; | 513 | ret = -EAGAIN; |
537 | goto err_unlock_sta; | 514 | goto err_unlock_sta; |
538 | } | 515 | } |
@@ -587,9 +564,7 @@ static void ieee80211_agg_tx_operational(struct ieee80211_local *local, | |||
587 | 564 | ||
588 | tid_tx = rcu_dereference_protected_tid_tx(sta, tid); | 565 | tid_tx = rcu_dereference_protected_tid_tx(sta, tid); |
589 | 566 | ||
590 | #ifdef CONFIG_MAC80211_HT_DEBUG | 567 | ht_vdbg("Aggregation is on for tid %d\n", tid); |
591 | pr_debug("Aggregation is on for tid %d\n", tid); | ||
592 | #endif | ||
593 | 568 | ||
594 | drv_ampdu_action(local, sta->sdata, | 569 | drv_ampdu_action(local, sta->sdata, |
595 | IEEE80211_AMPDU_TX_OPERATIONAL, | 570 | IEEE80211_AMPDU_TX_OPERATIONAL, |
@@ -623,9 +598,7 @@ void ieee80211_start_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u16 tid) | |||
623 | trace_api_start_tx_ba_cb(sdata, ra, tid); | 598 | trace_api_start_tx_ba_cb(sdata, ra, tid); |
624 | 599 | ||
625 | if (tid >= STA_TID_NUM) { | 600 | if (tid >= STA_TID_NUM) { |
626 | #ifdef CONFIG_MAC80211_HT_DEBUG | 601 | ht_vdbg("Bad TID value: tid = %d (>= %d)\n", tid, STA_TID_NUM); |
627 | pr_debug("Bad TID value: tid = %d (>= %d)\n", tid, STA_TID_NUM); | ||
628 | #endif | ||
629 | return; | 602 | return; |
630 | } | 603 | } |
631 | 604 | ||
@@ -633,9 +606,7 @@ void ieee80211_start_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u16 tid) | |||
633 | sta = sta_info_get_bss(sdata, ra); | 606 | sta = sta_info_get_bss(sdata, ra); |
634 | if (!sta) { | 607 | if (!sta) { |
635 | mutex_unlock(&local->sta_mtx); | 608 | mutex_unlock(&local->sta_mtx); |
636 | #ifdef CONFIG_MAC80211_HT_DEBUG | 609 | ht_vdbg("Could not find station: %pM\n", ra); |
637 | pr_debug("Could not find station: %pM\n", ra); | ||
638 | #endif | ||
639 | return; | 610 | return; |
640 | } | 611 | } |
641 | 612 | ||
@@ -643,9 +614,7 @@ void ieee80211_start_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u16 tid) | |||
643 | tid_tx = rcu_dereference_protected_tid_tx(sta, tid); | 614 | tid_tx = rcu_dereference_protected_tid_tx(sta, tid); |
644 | 615 | ||
645 | if (WARN_ON(!tid_tx)) { | 616 | if (WARN_ON(!tid_tx)) { |
646 | #ifdef CONFIG_MAC80211_HT_DEBUG | 617 | ht_vdbg("addBA was not requested!\n"); |
647 | pr_debug("addBA was not requested!\n"); | ||
648 | #endif | ||
649 | goto unlock; | 618 | goto unlock; |
650 | } | 619 | } |
651 | 620 | ||
@@ -745,23 +714,17 @@ void ieee80211_stop_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u8 tid) | |||
745 | trace_api_stop_tx_ba_cb(sdata, ra, tid); | 714 | trace_api_stop_tx_ba_cb(sdata, ra, tid); |
746 | 715 | ||
747 | if (tid >= STA_TID_NUM) { | 716 | if (tid >= STA_TID_NUM) { |
748 | #ifdef CONFIG_MAC80211_HT_DEBUG | 717 | ht_vdbg("Bad TID value: tid = %d (>= %d)\n", tid, STA_TID_NUM); |
749 | pr_debug("Bad TID value: tid = %d (>= %d)\n", tid, STA_TID_NUM); | ||
750 | #endif | ||
751 | return; | 718 | return; |
752 | } | 719 | } |
753 | 720 | ||
754 | #ifdef CONFIG_MAC80211_HT_DEBUG | 721 | ht_vdbg("Stopping Tx BA session for %pM tid %d\n", ra, tid); |
755 | pr_debug("Stopping Tx BA session for %pM tid %d\n", ra, tid); | ||
756 | #endif /* CONFIG_MAC80211_HT_DEBUG */ | ||
757 | 722 | ||
758 | mutex_lock(&local->sta_mtx); | 723 | mutex_lock(&local->sta_mtx); |
759 | 724 | ||
760 | sta = sta_info_get_bss(sdata, ra); | 725 | sta = sta_info_get_bss(sdata, ra); |
761 | if (!sta) { | 726 | if (!sta) { |
762 | #ifdef CONFIG_MAC80211_HT_DEBUG | 727 | ht_vdbg("Could not find station: %pM\n", ra); |
763 | pr_debug("Could not find station: %pM\n", ra); | ||
764 | #endif | ||
765 | goto unlock; | 728 | goto unlock; |
766 | } | 729 | } |
767 | 730 | ||
@@ -770,9 +733,7 @@ void ieee80211_stop_tx_ba_cb(struct ieee80211_vif *vif, u8 *ra, u8 tid) | |||
770 | tid_tx = rcu_dereference_protected_tid_tx(sta, tid); | 733 | tid_tx = rcu_dereference_protected_tid_tx(sta, tid); |
771 | 734 | ||
772 | if (!tid_tx || !test_bit(HT_AGG_STATE_STOPPING, &tid_tx->state)) { | 735 | if (!tid_tx || !test_bit(HT_AGG_STATE_STOPPING, &tid_tx->state)) { |
773 | #ifdef CONFIG_MAC80211_HT_DEBUG | 736 | ht_vdbg("unexpected callback to A-MPDU stop\n"); |
774 | pr_debug("unexpected callback to A-MPDU stop\n"); | ||
775 | #endif | ||
776 | goto unlock_sta; | 737 | goto unlock_sta; |
777 | } | 738 | } |
778 | 739 | ||
@@ -848,17 +809,13 @@ void ieee80211_process_addba_resp(struct ieee80211_local *local, | |||
848 | goto out; | 809 | goto out; |
849 | 810 | ||
850 | if (mgmt->u.action.u.addba_resp.dialog_token != tid_tx->dialog_token) { | 811 | if (mgmt->u.action.u.addba_resp.dialog_token != tid_tx->dialog_token) { |
851 | #ifdef CONFIG_MAC80211_HT_DEBUG | 812 | ht_vdbg("wrong addBA response token, tid %d\n", tid); |
852 | pr_debug("wrong addBA response token, tid %d\n", tid); | ||
853 | #endif | ||
854 | goto out; | 813 | goto out; |
855 | } | 814 | } |
856 | 815 | ||
857 | del_timer_sync(&tid_tx->addba_resp_timer); | 816 | del_timer_sync(&tid_tx->addba_resp_timer); |
858 | 817 | ||
859 | #ifdef CONFIG_MAC80211_HT_DEBUG | 818 | ht_vdbg("switched off addBA timer for tid %d\n", tid); |
860 | pr_debug("switched off addBA timer for tid %d\n", tid); | ||
861 | #endif | ||
862 | 819 | ||
863 | /* | 820 | /* |
864 | * addba_resp_timer may have fired before we got here, and | 821 | * addba_resp_timer may have fired before we got here, and |
@@ -867,10 +824,8 @@ void ieee80211_process_addba_resp(struct ieee80211_local *local, | |||
867 | */ | 824 | */ |
868 | if (test_bit(HT_AGG_STATE_WANT_STOP, &tid_tx->state) || | 825 | if (test_bit(HT_AGG_STATE_WANT_STOP, &tid_tx->state) || |
869 | test_bit(HT_AGG_STATE_STOPPING, &tid_tx->state)) { | 826 | test_bit(HT_AGG_STATE_STOPPING, &tid_tx->state)) { |
870 | #ifdef CONFIG_MAC80211_HT_DEBUG | 827 | ht_vdbg("got addBA resp for tid %d but we already gave up\n", |
871 | pr_debug("got addBA resp for tid %d but we already gave up\n", | 828 | tid); |
872 | tid); | ||
873 | #endif | ||
874 | goto out; | 829 | goto out; |
875 | } | 830 | } |
876 | 831 | ||