Эх сурвалжийг харах

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>
Johannes Berg 16 жил өмнө
parent
commit
955d3fe3e8

+ 2 - 3
net/mac80211/agg-tx.c

@@ -407,9 +407,8 @@ int ieee80211_stop_tx_ba_session(struct ieee80211_hw *hw,
 		ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_TX_STOP,
 		ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_TX_STOP,
 					       &sta->sta, tid, NULL);
 					       &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;
 		*state = HT_AGG_STATE_OPERATIONAL;
 		if (hw->ampdu_queues)
 		if (hw->ampdu_queues)
 			ieee80211_wake_queue(hw, sta->tid_to_tx_q[tid]);
 			ieee80211_wake_queue(hw, sta->tid_to_tx_q[tid]);