diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2008-04-11 15:40:35 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-04-16 15:59:57 -0400 |
commit | b16bd15c379410f2aa47837aa4a0de5712856ad5 (patch) | |
tree | fd391bb12b146aaf001ae169a4c98f7088299edd /net/mac80211/main.c | |
parent | 6b914c521687ae6cb8923c7235fd69b7bc027703 (diff) |
mac80211: fix spinlock recursion
When STAs are expired, we need to hold the sta_lock. Using
the same lock for keys too would then mean we'd need another
key free function, and that'll just lead to confusion, so just
use a new spinlock for all key lists.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r-- | net/mac80211/main.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index bfcbcf5353ad..e9a978979d38 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
@@ -1587,6 +1587,8 @@ struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len, | |||
1587 | 1587 | ||
1588 | INIT_LIST_HEAD(&local->interfaces); | 1588 | INIT_LIST_HEAD(&local->interfaces); |
1589 | 1589 | ||
1590 | spin_lock_init(&local->key_lock); | ||
1591 | |||
1590 | INIT_DELAYED_WORK(&local->scan_work, ieee80211_sta_scan_work); | 1592 | INIT_DELAYED_WORK(&local->scan_work, ieee80211_sta_scan_work); |
1591 | 1593 | ||
1592 | sta_info_init(local); | 1594 | sta_info_init(local); |