diff options
-rw-r--r-- | Documentation/DocBook/80211.tmpl | 1 | ||||
-rw-r--r-- | include/net/mac80211.h | 16 | ||||
-rw-r--r-- | net/mac80211/key.c | 20 |
3 files changed, 0 insertions, 37 deletions
diff --git a/Documentation/DocBook/80211.tmpl b/Documentation/DocBook/80211.tmpl index f3e214f9e256..42e7f030cb16 100644 --- a/Documentation/DocBook/80211.tmpl +++ b/Documentation/DocBook/80211.tmpl | |||
@@ -404,7 +404,6 @@ | |||
404 | !Finclude/net/mac80211.h ieee80211_get_tkip_p1k | 404 | !Finclude/net/mac80211.h ieee80211_get_tkip_p1k |
405 | !Finclude/net/mac80211.h ieee80211_get_tkip_p1k_iv | 405 | !Finclude/net/mac80211.h ieee80211_get_tkip_p1k_iv |
406 | !Finclude/net/mac80211.h ieee80211_get_tkip_p2k | 406 | !Finclude/net/mac80211.h ieee80211_get_tkip_p2k |
407 | !Finclude/net/mac80211.h ieee80211_key_removed | ||
408 | </chapter> | 407 | </chapter> |
409 | 408 | ||
410 | <chapter id="powersave"> | 409 | <chapter id="powersave"> |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index e3fa90ce9ecb..c5dbb46debb0 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -3592,22 +3592,6 @@ void ieee80211_request_smps(struct ieee80211_vif *vif, | |||
3592 | enum ieee80211_smps_mode smps_mode); | 3592 | enum ieee80211_smps_mode smps_mode); |
3593 | 3593 | ||
3594 | /** | 3594 | /** |
3595 | * ieee80211_key_removed - disable hw acceleration for key | ||
3596 | * @key_conf: The key hw acceleration should be disabled for | ||
3597 | * | ||
3598 | * This allows drivers to indicate that the given key has been | ||
3599 | * removed from hardware acceleration, due to a new key that | ||
3600 | * was added. Don't use this if the key can continue to be used | ||
3601 | * for TX, if the key restriction is on RX only it is permitted | ||
3602 | * to keep the key for TX only and not call this function. | ||
3603 | * | ||
3604 | * Due to locking constraints, it may only be called during | ||
3605 | * @set_key. This function must be allowed to sleep, and the | ||
3606 | * key it tries to disable may still be used until it returns. | ||
3607 | */ | ||
3608 | void ieee80211_key_removed(struct ieee80211_key_conf *key_conf); | ||
3609 | |||
3610 | /** | ||
3611 | * ieee80211_ready_on_channel - notification of remain-on-channel start | 3595 | * ieee80211_ready_on_channel - notification of remain-on-channel start |
3612 | * @hw: pointer as obtained from ieee80211_alloc_hw() | 3596 | * @hw: pointer as obtained from ieee80211_alloc_hw() |
3613 | */ | 3597 | */ |
diff --git a/net/mac80211/key.c b/net/mac80211/key.c index b3b7e526e245..7ae678ba5d67 100644 --- a/net/mac80211/key.c +++ b/net/mac80211/key.c | |||
@@ -194,26 +194,6 @@ static void ieee80211_key_disable_hw_accel(struct ieee80211_key *key) | |||
194 | key->flags &= ~KEY_FLAG_UPLOADED_TO_HARDWARE; | 194 | key->flags &= ~KEY_FLAG_UPLOADED_TO_HARDWARE; |
195 | } | 195 | } |
196 | 196 | ||
197 | void ieee80211_key_removed(struct ieee80211_key_conf *key_conf) | ||
198 | { | ||
199 | struct ieee80211_key *key; | ||
200 | |||
201 | key = container_of(key_conf, struct ieee80211_key, conf); | ||
202 | |||
203 | might_sleep(); | ||
204 | assert_key_lock(key->local); | ||
205 | |||
206 | key->flags &= ~KEY_FLAG_UPLOADED_TO_HARDWARE; | ||
207 | |||
208 | /* | ||
209 | * Flush TX path to avoid attempts to use this key | ||
210 | * after this function returns. Until then, drivers | ||
211 | * must be prepared to handle the key. | ||
212 | */ | ||
213 | synchronize_rcu(); | ||
214 | } | ||
215 | EXPORT_SYMBOL_GPL(ieee80211_key_removed); | ||
216 | |||
217 | static void __ieee80211_set_default_key(struct ieee80211_sub_if_data *sdata, | 197 | static void __ieee80211_set_default_key(struct ieee80211_sub_if_data *sdata, |
218 | int idx, bool uni, bool multi) | 198 | int idx, bool uni, bool multi) |
219 | { | 199 | { |