mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
mac80211: tear down RX aggregations first
When doing HW restart we tear down aggregations. Since at this point we are not TX'ing any aggregation, while the peer is still sending RX aggregation over the air, it will make sense to tear down the RX aggregations first. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
fbbdad5edf
commit
72e2c3438b
@ -292,7 +292,6 @@ void ieee80211_sta_tear_down_BA_sessions(struct sta_info *sta,
|
|||||||
|
|
||||||
mutex_lock(&sta->ampdu_mlme.mtx);
|
mutex_lock(&sta->ampdu_mlme.mtx);
|
||||||
for (i = 0; i < IEEE80211_NUM_TIDS; i++) {
|
for (i = 0; i < IEEE80211_NUM_TIDS; i++) {
|
||||||
___ieee80211_stop_tx_ba_session(sta, i, reason);
|
|
||||||
___ieee80211_stop_rx_ba_session(sta, i, WLAN_BACK_RECIPIENT,
|
___ieee80211_stop_rx_ba_session(sta, i, WLAN_BACK_RECIPIENT,
|
||||||
WLAN_REASON_QSTA_LEAVE_QBSS,
|
WLAN_REASON_QSTA_LEAVE_QBSS,
|
||||||
reason != AGG_STOP_DESTROY_STA &&
|
reason != AGG_STOP_DESTROY_STA &&
|
||||||
@ -300,6 +299,9 @@ void ieee80211_sta_tear_down_BA_sessions(struct sta_info *sta,
|
|||||||
}
|
}
|
||||||
mutex_unlock(&sta->ampdu_mlme.mtx);
|
mutex_unlock(&sta->ampdu_mlme.mtx);
|
||||||
|
|
||||||
|
for (i = 0; i < IEEE80211_NUM_TIDS; i++)
|
||||||
|
___ieee80211_stop_tx_ba_session(sta, i, reason);
|
||||||
|
|
||||||
/* stopping might queue the work again - so cancel only afterwards */
|
/* stopping might queue the work again - so cancel only afterwards */
|
||||||
cancel_work_sync(&sta->ampdu_mlme.work);
|
cancel_work_sync(&sta->ampdu_mlme.work);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user