diff options
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/agg-tx.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c index 9a00a79a868b..0026604cfe30 100644 --- a/net/mac80211/agg-tx.c +++ b/net/mac80211/agg-tx.c | |||
@@ -200,11 +200,11 @@ static void sta_addba_resp_timer_expired(unsigned long data) | |||
200 | struct tid_ampdu_tx *tid_tx; | 200 | struct tid_ampdu_tx *tid_tx; |
201 | 201 | ||
202 | /* check if the TID waits for addBA response */ | 202 | /* check if the TID waits for addBA response */ |
203 | spin_lock_bh(&sta->lock); | 203 | rcu_read_lock(); |
204 | tid_tx = sta->ampdu_mlme.tid_tx[tid]; | 204 | tid_tx = rcu_dereference(sta->ampdu_mlme.tid_tx[tid]); |
205 | if (!tid_tx || | 205 | if (!tid_tx || |
206 | test_bit(HT_AGG_STATE_RESPONSE_RECEIVED, &tid_tx->state)) { | 206 | test_bit(HT_AGG_STATE_RESPONSE_RECEIVED, &tid_tx->state)) { |
207 | spin_unlock_bh(&sta->lock); | 207 | rcu_read_unlock(); |
208 | #ifdef CONFIG_MAC80211_HT_DEBUG | 208 | #ifdef CONFIG_MAC80211_HT_DEBUG |
209 | printk(KERN_DEBUG "timer expired on tid %d but we are not " | 209 | printk(KERN_DEBUG "timer expired on tid %d but we are not " |
210 | "(or no longer) expecting addBA response there\n", | 210 | "(or no longer) expecting addBA response there\n", |
@@ -217,8 +217,8 @@ static void sta_addba_resp_timer_expired(unsigned long data) | |||
217 | printk(KERN_DEBUG "addBA response timer expired on tid %d\n", tid); | 217 | printk(KERN_DEBUG "addBA response timer expired on tid %d\n", tid); |
218 | #endif | 218 | #endif |
219 | 219 | ||
220 | ___ieee80211_stop_tx_ba_session(sta, tid, WLAN_BACK_INITIATOR); | 220 | ieee80211_stop_tx_ba_session(&sta->sta, tid); |
221 | spin_unlock_bh(&sta->lock); | 221 | rcu_read_unlock(); |
222 | } | 222 | } |
223 | 223 | ||
224 | static inline int ieee80211_ac_from_tid(int tid) | 224 | static inline int ieee80211_ac_from_tid(int tid) |