diff options
Diffstat (limited to 'net/mac80211/agg-tx.c')
| -rw-r--r-- | net/mac80211/agg-tx.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c index 206fd82f0c76..89e238b001de 100644 --- a/net/mac80211/agg-tx.c +++ b/net/mac80211/agg-tx.c | |||
| @@ -123,13 +123,18 @@ void ieee80211_send_bar(struct ieee80211_sub_if_data *sdata, u8 *ra, u16 tid, u1 | |||
| 123 | ieee80211_tx_skb(sdata, skb, 0); | 123 | ieee80211_tx_skb(sdata, skb, 0); |
| 124 | } | 124 | } |
| 125 | 125 | ||
| 126 | static int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, | 126 | int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, |
| 127 | enum ieee80211_back_parties initiator) | 127 | enum ieee80211_back_parties initiator) |
| 128 | { | 128 | { |
| 129 | struct ieee80211_local *local = sta->local; | 129 | struct ieee80211_local *local = sta->local; |
| 130 | int ret; | 130 | int ret; |
| 131 | u8 *state; | 131 | u8 *state; |
| 132 | 132 | ||
| 133 | #ifdef CONFIG_MAC80211_HT_DEBUG | ||
| 134 | printk(KERN_DEBUG "Tx BA session stop requested for %pM tid %u\n", | ||
| 135 | sta->sta.addr, tid); | ||
| 136 | #endif /* CONFIG_MAC80211_HT_DEBUG */ | ||
| 137 | |||
| 133 | state = &sta->ampdu_mlme.tid_state_tx[tid]; | 138 | state = &sta->ampdu_mlme.tid_state_tx[tid]; |
| 134 | 139 | ||
| 135 | if (*state == HT_AGG_STATE_OPERATIONAL) | 140 | if (*state == HT_AGG_STATE_OPERATIONAL) |
| @@ -143,7 +148,6 @@ static int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, | |||
| 143 | 148 | ||
| 144 | /* HW shall not deny going back to legacy */ | 149 | /* HW shall not deny going back to legacy */ |
| 145 | if (WARN_ON(ret)) { | 150 | if (WARN_ON(ret)) { |
| 146 | *state = HT_AGG_STATE_OPERATIONAL; | ||
| 147 | /* | 151 | /* |
| 148 | * We may have pending packets get stuck in this case... | 152 | * We may have pending packets get stuck in this case... |
| 149 | * Not bothering with a workaround for now. | 153 | * Not bothering with a workaround for now. |
| @@ -525,11 +529,6 @@ int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid, | |||
| 525 | goto unlock; | 529 | goto unlock; |
| 526 | } | 530 | } |
| 527 | 531 | ||
| 528 | #ifdef CONFIG_MAC80211_HT_DEBUG | ||
| 529 | printk(KERN_DEBUG "Tx BA session stop requested for %pM tid %u\n", | ||
| 530 | sta->sta.addr, tid); | ||
| 531 | #endif /* CONFIG_MAC80211_HT_DEBUG */ | ||
| 532 | |||
| 533 | ret = ___ieee80211_stop_tx_ba_session(sta, tid, initiator); | 532 | ret = ___ieee80211_stop_tx_ba_session(sta, tid, initiator); |
| 534 | 533 | ||
| 535 | unlock: | 534 | unlock: |
| @@ -545,7 +544,7 @@ int ieee80211_stop_tx_ba_session(struct ieee80211_hw *hw, | |||
| 545 | struct sta_info *sta; | 544 | struct sta_info *sta; |
| 546 | int ret = 0; | 545 | int ret = 0; |
| 547 | 546 | ||
| 548 | if (WARN_ON(!local->ops->ampdu_action)) | 547 | if (!local->ops->ampdu_action) |
| 549 | return -EINVAL; | 548 | return -EINVAL; |
| 550 | 549 | ||
| 551 | if (tid >= STA_TID_NUM) | 550 | if (tid >= STA_TID_NUM) |
