diff options
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index d3b5cc57af40..8e440c5706dd 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -574,6 +574,7 @@ struct ieee80211_local { | |||
574 | unsigned int filter_flags; /* FIF_* */ | 574 | unsigned int filter_flags; /* FIF_* */ |
575 | struct iw_statistics wstats; | 575 | struct iw_statistics wstats; |
576 | u8 wstats_flags; | 576 | u8 wstats_flags; |
577 | bool tim_in_locked_section; /* see ieee80211_beacon_get() */ | ||
577 | int tx_headroom; /* required headroom for hardware/radiotap */ | 578 | int tx_headroom; /* required headroom for hardware/radiotap */ |
578 | 579 | ||
579 | enum { | 580 | enum { |
@@ -591,9 +592,15 @@ struct ieee80211_local { | |||
591 | struct sk_buff_head skb_queue; | 592 | struct sk_buff_head skb_queue; |
592 | struct sk_buff_head skb_queue_unreliable; | 593 | struct sk_buff_head skb_queue_unreliable; |
593 | 594 | ||
594 | /* Station data structures */ | 595 | /* Station data */ |
595 | rwlock_t sta_lock; /* protects STA data structures */ | 596 | /* |
596 | int num_sta; /* number of stations in sta_list */ | 597 | * The lock only protects the list, hash, timer and counter |
598 | * against manipulation, reads are done in RCU. Additionally, | ||
599 | * the lock protects each BSS's TIM bitmap and a few items | ||
600 | * in a STA info structure. | ||
601 | */ | ||
602 | spinlock_t sta_lock; | ||
603 | unsigned long num_sta; | ||
597 | struct list_head sta_list; | 604 | struct list_head sta_list; |
598 | struct sta_info *sta_hash[STA_HASH_SIZE]; | 605 | struct sta_info *sta_hash[STA_HASH_SIZE]; |
599 | struct timer_list sta_cleanup; | 606 | struct timer_list sta_cleanup; |