mac80211: hardware should not deny going back to legacy
authorJohannes Berg <johannes@sipsolutions.net>
Tue, 10 Feb 2009 20:25:48 +0000 (21:25 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 13 Feb 2009 18:45:38 +0000 (13:45 -0500)
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>
net/mac80211/agg-tx.c

index c91b32a3f0e7106b0ac5ff82ce824ca5bac1b241..73abff9565482d124645f056bd1be0671badc66f 100644 (file)
@@ -407,9 +407,8 @@ int ieee80211_stop_tx_ba_session(struct ieee80211_hw *hw,
                ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_TX_STOP,
                                               &sta->sta, tid, NULL);
 
-       /* case HW denied going back to legacy */
-       if (ret) {
-               WARN_ON(ret != -EBUSY);
+       /* HW shall not deny going back to legacy */
+       if (WARN_ON(ret)) {
                *state = HT_AGG_STATE_OPERATIONAL;
                if (hw->ampdu_queues)
                        ieee80211_wake_queue(hw, sta->tid_to_tx_q[tid]);