diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2008-03-31 13:23:03 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-04-01 17:14:10 -0400 |
commit | dc6676b7f2c2072ec05254aaca32e99f87a8a417 (patch) | |
tree | 6caf7e007063f9ae6a16fdcb1912bf72d31237c2 /net/mac80211/ieee80211_i.h | |
parent | 4f6fab472c4c7c21d577f85fabec7628d4a05637 (diff) |
mac80211: sta_info_flush() fixes
When the IBSS code tries to flush the STA list, it does so in
an atomic context. Flushing isn't safe there, however, and
requires the RTNL, so we need to defer it to a workqueue.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r-- | net/mac80211/ieee80211_i.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 7ab806602183..0997a0f96203 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h | |||
@@ -606,6 +606,8 @@ struct ieee80211_local { | |||
606 | spinlock_t sta_lock; | 606 | spinlock_t sta_lock; |
607 | unsigned long num_sta; | 607 | unsigned long num_sta; |
608 | struct list_head sta_list; | 608 | struct list_head sta_list; |
609 | struct list_head sta_flush_list; | ||
610 | struct work_struct sta_flush_work; | ||
609 | struct sta_info *sta_hash[STA_HASH_SIZE]; | 611 | struct sta_info *sta_hash[STA_HASH_SIZE]; |
610 | struct timer_list sta_cleanup; | 612 | struct timer_list sta_cleanup; |
611 | 613 | ||