mac80211: defer RX agg session teardown to work
Since we want the code to be able to sleep in the future, it must not be called from the timer directly. To prepare, move it out into the aggregation work. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
67c282c00c
commit
7c3b1dd8f4
@@ -132,6 +132,11 @@ void ieee80211_ba_session_work(struct work_struct *work)
|
||||
|
||||
spin_lock_bh(&sta->lock);
|
||||
for (tid = 0; tid < STA_TID_NUM; tid++) {
|
||||
if (test_and_clear_bit(tid, sta->ampdu_mlme.tid_rx_timer_expired))
|
||||
___ieee80211_stop_rx_ba_session(
|
||||
sta, tid, WLAN_BACK_RECIPIENT,
|
||||
WLAN_REASON_QSTA_TIMEOUT);
|
||||
|
||||
tid_tx = sta->ampdu_mlme.tid_tx[tid];
|
||||
if (!tid_tx)
|
||||
continue;
|
||||
|
Reference in New Issue
Block a user