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.h18
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);
985ieee80211_rx_result 984ieee80211_rx_result
986ieee80211_ibss_rx_mgmt(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb); 985ieee80211_ibss_rx_mgmt(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb);
987struct sta_info *ieee80211_ibss_add_sta(struct ieee80211_sub_if_data *sdata, 986struct 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);
989int ieee80211_ibss_join(struct ieee80211_sub_if_data *sdata, 989int ieee80211_ibss_join(struct ieee80211_sub_if_data *sdata,
990 struct cfg80211_ibss_params *params); 990 struct cfg80211_ibss_params *params);
991int ieee80211_ibss_leave(struct ieee80211_sub_if_data *sdata); 991int ieee80211_ibss_leave(struct ieee80211_sub_if_data *sdata);