diff options
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 3067fbd69d63..a5911191f224 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -688,15 +688,18 @@ struct ieee80211_local { | |||
688 | 688 | ||
689 | /* Station data */ | 689 | /* Station data */ |
690 | /* | 690 | /* |
691 | * The lock only protects the list, hash, timer and counter | 691 | * The mutex only protects the list and counter, |
692 | * against manipulation, reads are done in RCU. Additionally, | 692 | * reads are done in RCU. |
693 | * the lock protects each BSS's TIM bitmap. | 693 | * Additionally, the lock protects the hash table, |
694 | * the pending list and each BSS's TIM bitmap. | ||
694 | */ | 695 | */ |
696 | struct mutex sta_mtx; | ||
695 | spinlock_t sta_lock; | 697 | spinlock_t sta_lock; |
696 | unsigned long num_sta; | 698 | unsigned long num_sta; |
697 | struct list_head sta_list; | 699 | struct list_head sta_list, sta_pending_list; |
698 | struct sta_info *sta_hash[STA_HASH_SIZE]; | 700 | struct sta_info *sta_hash[STA_HASH_SIZE]; |
699 | struct timer_list sta_cleanup; | 701 | struct timer_list sta_cleanup; |
702 | struct work_struct sta_finish_work; | ||
700 | int sta_generation; | 703 | int sta_generation; |
701 | 704 | ||
702 | struct sk_buff_head pending[IEEE80211_MAX_QUEUES]; | 705 | struct sk_buff_head pending[IEEE80211_MAX_QUEUES]; |
@@ -770,10 +773,6 @@ struct ieee80211_local { | |||
770 | assoc_led_name[32], radio_led_name[32]; | 773 | assoc_led_name[32], radio_led_name[32]; |
771 | #endif | 774 | #endif |
772 | 775 | ||
773 | #ifdef CONFIG_MAC80211_DEBUGFS | ||
774 | struct work_struct sta_debugfs_add; | ||
775 | #endif | ||
776 | |||
777 | #ifdef CONFIG_MAC80211_DEBUG_COUNTERS | 776 | #ifdef CONFIG_MAC80211_DEBUG_COUNTERS |
778 | /* TX/RX handler statistics */ | 777 | /* TX/RX handler statistics */ |
779 | unsigned int tx_handlers_drop; | 778 | unsigned int tx_handlers_drop; |
@@ -985,7 +984,8 @@ void ieee80211_ibss_setup_sdata(struct ieee80211_sub_if_data *sdata); | |||
985 | ieee80211_rx_result | 984 | ieee80211_rx_result |
986 | ieee80211_ibss_rx_mgmt(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb); | 985 | ieee80211_ibss_rx_mgmt(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb); |
987 | struct sta_info *ieee80211_ibss_add_sta(struct ieee80211_sub_if_data *sdata, | 986 | struct sta_info *ieee80211_ibss_add_sta(struct ieee80211_sub_if_data *sdata, |
988 | u8 *bssid, u8 *addr, u32 supp_rates); | 987 | u8 *bssid, u8 *addr, u32 supp_rates, |
988 | gfp_t gfp); | ||
989 | int ieee80211_ibss_join(struct ieee80211_sub_if_data *sdata, | 989 | int ieee80211_ibss_join(struct ieee80211_sub_if_data *sdata, |
990 | struct cfg80211_ibss_params *params); | 990 | struct cfg80211_ibss_params *params); |
991 | int ieee80211_ibss_leave(struct ieee80211_sub_if_data *sdata); | 991 | int ieee80211_ibss_leave(struct ieee80211_sub_if_data *sdata); |