diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-06-01 04:19:19 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-03 14:10:46 -0400 |
commit | ad0e2b5a00dbec303e4682b403bb6703d11dcdb2 (patch) | |
tree | b7aeb06a284af0cfb4aa1de840592478b373f554 /net/mac80211/iface.c | |
parent | efe4c457a1d4e56840c42bf2e409dc04e8ad4304 (diff) |
mac80211: simplify key locking
Since I recently made station management able
to sleep, I can now rework key management as
well; since it will no longer need a spinlock
and can also use a mutex instead, a bunch of
code to allow drivers' set_key to sleep while
key management is protected by a spinlock can
now be removed.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r-- | net/mac80211/iface.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index 3d3a094d3987..1afa9ec81fe8 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c | |||
@@ -268,7 +268,6 @@ static int ieee80211_open(struct net_device *dev) | |||
268 | 268 | ||
269 | changed |= ieee80211_reset_erp_info(sdata); | 269 | changed |= ieee80211_reset_erp_info(sdata); |
270 | ieee80211_bss_info_change_notify(sdata, changed); | 270 | ieee80211_bss_info_change_notify(sdata, changed); |
271 | ieee80211_enable_keys(sdata); | ||
272 | 271 | ||
273 | if (sdata->vif.type == NL80211_IFTYPE_STATION) | 272 | if (sdata->vif.type == NL80211_IFTYPE_STATION) |
274 | netif_carrier_off(dev); | 273 | netif_carrier_off(dev); |
@@ -522,8 +521,8 @@ static int ieee80211_stop(struct net_device *dev) | |||
522 | BSS_CHANGED_BEACON_ENABLED); | 521 | BSS_CHANGED_BEACON_ENABLED); |
523 | } | 522 | } |
524 | 523 | ||
525 | /* disable all keys for as long as this netdev is down */ | 524 | /* free all remaining keys, there shouldn't be any */ |
526 | ieee80211_disable_keys(sdata); | 525 | ieee80211_free_keys(sdata); |
527 | drv_remove_interface(local, &sdata->vif); | 526 | drv_remove_interface(local, &sdata->vif); |
528 | } | 527 | } |
529 | 528 | ||