diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-08-28 17:01:54 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:48:51 -0400 |
commit | 8f37171a6243a8370211a1e86d58be683ccf01f0 (patch) | |
tree | 3ca7a5eeed89cbd9ea6d86ddffa0a30ed2b4a3c6 /net/mac80211/key.c | |
parent | 8f20fc24986a083228823d9b68adca20714b254e (diff) |
[MAC80211]: remove krefs for keys
they aren't really refcounted anyway
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac80211/key.c')
-rw-r--r-- | net/mac80211/key.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/net/mac80211/key.c b/net/mac80211/key.c index 92d994f090b6..843d1577f00f 100644 --- a/net/mac80211/key.c +++ b/net/mac80211/key.c | |||
@@ -21,23 +21,16 @@ struct ieee80211_key *ieee80211_key_alloc(struct ieee80211_sub_if_data *sdata, | |||
21 | key = kzalloc(sizeof(struct ieee80211_key) + key_len, flags); | 21 | key = kzalloc(sizeof(struct ieee80211_key) + key_len, flags); |
22 | if (!key) | 22 | if (!key) |
23 | return NULL; | 23 | return NULL; |
24 | kref_init(&key->kref); | ||
25 | return key; | 24 | return key; |
26 | } | 25 | } |
27 | 26 | ||
28 | static void ieee80211_key_release(struct kref *kref) | 27 | void ieee80211_key_free(struct ieee80211_key *key) |
29 | { | 28 | { |
30 | struct ieee80211_key *key; | 29 | if (!key) |
30 | return; | ||
31 | 31 | ||
32 | key = container_of(kref, struct ieee80211_key, kref); | ||
33 | if (key->conf.alg == ALG_CCMP) | 32 | if (key->conf.alg == ALG_CCMP) |
34 | ieee80211_aes_key_free(key->u.ccmp.tfm); | 33 | ieee80211_aes_key_free(key->u.ccmp.tfm); |
35 | ieee80211_debugfs_key_remove(key); | 34 | ieee80211_debugfs_key_remove(key); |
36 | kfree(key); | 35 | kfree(key); |
37 | } | 36 | } |
38 | |||
39 | void ieee80211_key_free(struct ieee80211_key *key) | ||
40 | { | ||
41 | if (key) | ||
42 | kref_put(&key->kref, ieee80211_key_release); | ||
43 | } | ||