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 c91b32a..73abff9 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]);