cfg80211/mac80211: allow per-station GTKs

This adds API to allow adding per-station GTKs,
updates mac80211 to support it, and also allows
drivers to remove a key from hwaccel again when
this may be necessary due to multiple GTKs.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Johannes Berg
2010-10-05 19:39:30 +02:00
committed by John W. Linville
parent 53f73c09d6
commit e31b82136d
20 changed files with 293 additions and 109 deletions

View File

@@ -616,7 +616,7 @@ static int __must_check __sta_info_destroy(struct sta_info *sta)
struct ieee80211_sub_if_data *sdata;
struct sk_buff *skb;
unsigned long flags;
int ret;
int ret, i;
might_sleep();
@@ -644,10 +644,10 @@ static int __must_check __sta_info_destroy(struct sta_info *sta)
if (ret)
return ret;
if (sta->key) {
ieee80211_key_free(local, sta->key);
WARN_ON(sta->key);
}
for (i = 0; i < NUM_DEFAULT_KEYS; i++)
ieee80211_key_free(local, sta->gtk[i]);
if (sta->ptk)
ieee80211_key_free(local, sta->ptk);
sta->dead = true;