aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h11
1 files changed, 5 insertions, 6 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index ed00552b3418..e76a58678959 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -417,10 +417,9 @@ struct ieee80211_local {
417 struct sk_buff_head skb_queue_unreliable; 417 struct sk_buff_head skb_queue_unreliable;
418 418
419 /* Station data structures */ 419 /* Station data structures */
420 spinlock_t sta_lock; /* mutex for STA data structures */ 420 rwlock_t sta_lock; /* protects STA data structures */
421 int num_sta; /* number of stations in sta_list */ 421 int num_sta; /* number of stations in sta_list */
422 struct list_head sta_list; 422 struct list_head sta_list;
423 struct list_head deleted_sta_list;
424 struct sta_info *sta_hash[STA_HASH_SIZE]; 423 struct sta_info *sta_hash[STA_HASH_SIZE];
425 struct timer_list sta_cleanup; 424 struct timer_list sta_cleanup;
426 425
@@ -669,9 +668,9 @@ static inline void __bss_tim_set(struct ieee80211_if_ap *bss, int aid)
669static inline void bss_tim_set(struct ieee80211_local *local, 668static inline void bss_tim_set(struct ieee80211_local *local,
670 struct ieee80211_if_ap *bss, int aid) 669 struct ieee80211_if_ap *bss, int aid)
671{ 670{
672 spin_lock_bh(&local->sta_lock); 671 read_lock_bh(&local->sta_lock);
673 __bss_tim_set(bss, aid); 672 __bss_tim_set(bss, aid);
674 spin_unlock_bh(&local->sta_lock); 673 read_unlock_bh(&local->sta_lock);
675} 674}
676 675
677static inline void __bss_tim_clear(struct ieee80211_if_ap *bss, int aid) 676static inline void __bss_tim_clear(struct ieee80211_if_ap *bss, int aid)
@@ -686,9 +685,9 @@ static inline void __bss_tim_clear(struct ieee80211_if_ap *bss, int aid)
686static inline void bss_tim_clear(struct ieee80211_local *local, 685static inline void bss_tim_clear(struct ieee80211_local *local,
687 struct ieee80211_if_ap *bss, int aid) 686 struct ieee80211_if_ap *bss, int aid)
688{ 687{
689 spin_lock_bh(&local->sta_lock); 688 read_lock_bh(&local->sta_lock);
690 __bss_tim_clear(bss, aid); 689 __bss_tim_clear(bss, aid);
691 spin_unlock_bh(&local->sta_lock); 690 read_unlock_bh(&local->sta_lock);
692} 691}
693 692
694/** 693/**