mac80211: fix dialog token allocator
The dialog token allocator has apparently been broken
since b83f4e15
("mac80211: fix deadlock in sta->lock")
because it got moved out under the spinlock. Fix it.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
8ae5977ff9
commit
51a0d38de2
1 changed files with 4 additions and 2 deletions
|
@ -332,14 +332,16 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta *pubsta, u16 tid)
|
|||
IEEE80211_QUEUE_STOP_REASON_AGGREGATION);
|
||||
|
||||
spin_unlock(&local->ampdu_lock);
|
||||
spin_unlock_bh(&sta->lock);
|
||||
|
||||
/* send an addBA request */
|
||||
/* prepare tid data */
|
||||
sta->ampdu_mlme.dialog_token_allocator++;
|
||||
sta->ampdu_mlme.tid_tx[tid]->dialog_token =
|
||||
sta->ampdu_mlme.dialog_token_allocator;
|
||||
sta->ampdu_mlme.tid_tx[tid]->ssn = start_seq_num;
|
||||
|
||||
spin_unlock_bh(&sta->lock);
|
||||
|
||||
/* send AddBA request */
|
||||
ieee80211_send_addba_request(sdata, pubsta->addr, tid,
|
||||
sta->ampdu_mlme.tid_tx[tid]->dialog_token,
|
||||
sta->ampdu_mlme.tid_tx[tid]->ssn,
|
||||
|
|
Loading…
Reference in a new issue