aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/tx.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r--net/mac80211/tx.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index dc128b412eab..2a1a7d457136 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -306,7 +306,7 @@ static void purge_old_ps_buffers(struct ieee80211_local *local)
306 } 306 }
307 read_unlock(&local->sub_if_lock); 307 read_unlock(&local->sub_if_lock);
308 308
309 spin_lock_bh(&local->sta_lock); 309 read_lock_bh(&local->sta_lock);
310 list_for_each_entry(sta, &local->sta_list, list) { 310 list_for_each_entry(sta, &local->sta_list, list) {
311 skb = skb_dequeue(&sta->ps_tx_buf); 311 skb = skb_dequeue(&sta->ps_tx_buf);
312 if (skb) { 312 if (skb) {
@@ -315,7 +315,7 @@ static void purge_old_ps_buffers(struct ieee80211_local *local)
315 } 315 }
316 total += skb_queue_len(&sta->ps_tx_buf); 316 total += skb_queue_len(&sta->ps_tx_buf);
317 } 317 }
318 spin_unlock_bh(&local->sta_lock); 318 read_unlock_bh(&local->sta_lock);
319 319
320 local->total_ps_buffered = total; 320 local->total_ps_buffered = total;
321 printk(KERN_DEBUG "%s: PS buffers full - purged %d frames\n", 321 printk(KERN_DEBUG "%s: PS buffers full - purged %d frames\n",
@@ -1629,7 +1629,7 @@ static void ieee80211_beacon_add_tim(struct ieee80211_local *local,
1629 1629
1630 /* Generate bitmap for TIM only if there are any STAs in power save 1630 /* Generate bitmap for TIM only if there are any STAs in power save
1631 * mode. */ 1631 * mode. */
1632 spin_lock_bh(&local->sta_lock); 1632 read_lock_bh(&local->sta_lock);
1633 if (atomic_read(&bss->num_sta_ps) > 0) 1633 if (atomic_read(&bss->num_sta_ps) > 0)
1634 /* in the hope that this is faster than 1634 /* in the hope that this is faster than
1635 * checking byte-for-byte */ 1635 * checking byte-for-byte */
@@ -1680,7 +1680,7 @@ static void ieee80211_beacon_add_tim(struct ieee80211_local *local,
1680 *pos++ = aid0; /* Bitmap control */ 1680 *pos++ = aid0; /* Bitmap control */
1681 *pos++ = 0; /* Part Virt Bitmap */ 1681 *pos++ = 0; /* Part Virt Bitmap */
1682 } 1682 }
1683 spin_unlock_bh(&local->sta_lock); 1683 read_unlock_bh(&local->sta_lock);
1684} 1684}
1685 1685
1686struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw, int if_id, 1686struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw, int if_id,