diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-02-10 15:25:48 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-02-13 13:45:38 -0500 |
commit | 955d3fe3e8b38de19761e4ac7afdb9d7a33b9566 (patch) | |
tree | 2f45485f88b9e9bc61aaddc6f9f187285cfc6501 | |
parent | 8abd3f9bc476b5b7f6de1b6fb576b87ba338f7fd (diff) |
mac80211: hardware should not deny going back to legacy
Doing so would be an MLME protocol violation when the peer disabled
the aggregation session. Quick driver review indicates that there are
error codes passed all over the drivers but cannot ever be nonzero
except in error conditions that would indicate mac80211 bugs.
No real changes here, since no drivers currently can return -EBUSY.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | net/mac80211/agg-tx.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c index c91b32a3f0e7..73abff956548 100644 --- a/net/mac80211/agg-tx.c +++ b/net/mac80211/agg-tx.c | |||
@@ -407,9 +407,8 @@ int ieee80211_stop_tx_ba_session(struct ieee80211_hw *hw, | |||
407 | ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_TX_STOP, | 407 | ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_TX_STOP, |
408 | &sta->sta, tid, NULL); | 408 | &sta->sta, tid, NULL); |
409 | 409 | ||
410 | /* case HW denied going back to legacy */ | 410 | /* HW shall not deny going back to legacy */ |
411 | if (ret) { | 411 | if (WARN_ON(ret)) { |
412 | WARN_ON(ret != -EBUSY); | ||
413 | *state = HT_AGG_STATE_OPERATIONAL; | 412 | *state = HT_AGG_STATE_OPERATIONAL; |
414 | if (hw->ampdu_queues) | 413 | if (hw->ampdu_queues) |
415 | ieee80211_wake_queue(hw, sta->tid_to_tx_q[tid]); | 414 | ieee80211_wake_queue(hw, sta->tid_to_tx_q[tid]); |