diff options
Diffstat (limited to 'net/mac80211/key.c')
-rw-r--r-- | net/mac80211/key.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/net/mac80211/key.c b/net/mac80211/key.c index f91fb4092652..5df9e0cc009f 100644 --- a/net/mac80211/key.c +++ b/net/mac80211/key.c | |||
@@ -73,6 +73,15 @@ static void ieee80211_key_enable_hw_accel(struct ieee80211_key *key) | |||
73 | if (!key->local->ops->set_key) | 73 | if (!key->local->ops->set_key) |
74 | return; | 74 | return; |
75 | 75 | ||
76 | /* | ||
77 | * This makes sure that all pending flushes have | ||
78 | * actually completed prior to uploading new key | ||
79 | * material to the hardware. That is necessary to | ||
80 | * avoid races between flushing STAs and adding | ||
81 | * new keys for them. | ||
82 | */ | ||
83 | __ieee80211_run_pending_flush(key->local); | ||
84 | |||
76 | addr = get_mac_for_key(key); | 85 | addr = get_mac_for_key(key); |
77 | 86 | ||
78 | ret = key->local->ops->set_key(local_to_hw(key->local), SET_KEY, | 87 | ret = key->local->ops->set_key(local_to_hw(key->local), SET_KEY, |