diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-sta.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.c b/drivers/net/wireless/iwlwifi/iwl-sta.c index 0ea08d080928..1684490d93c0 100644 --- a/drivers/net/wireless/iwlwifi/iwl-sta.c +++ b/drivers/net/wireless/iwlwifi/iwl-sta.c | |||
@@ -472,6 +472,7 @@ EXPORT_SYMBOL(iwl_remove_station); | |||
472 | void iwl_clear_stations_table(struct iwl_priv *priv) | 472 | void iwl_clear_stations_table(struct iwl_priv *priv) |
473 | { | 473 | { |
474 | unsigned long flags; | 474 | unsigned long flags; |
475 | int i; | ||
475 | 476 | ||
476 | spin_lock_irqsave(&priv->sta_lock, flags); | 477 | spin_lock_irqsave(&priv->sta_lock, flags); |
477 | 478 | ||
@@ -486,6 +487,12 @@ void iwl_clear_stations_table(struct iwl_priv *priv) | |||
486 | /* clean ucode key table bit map */ | 487 | /* clean ucode key table bit map */ |
487 | priv->ucode_key_table = 0; | 488 | priv->ucode_key_table = 0; |
488 | 489 | ||
490 | /* keep track of static keys */ | ||
491 | for (i = 0; i < WEP_KEYS_MAX ; i++) { | ||
492 | if (priv->wep_keys[i].key_size) | ||
493 | test_and_set_bit(i, &priv->ucode_key_table); | ||
494 | } | ||
495 | |||
489 | spin_unlock_irqrestore(&priv->sta_lock, flags); | 496 | spin_unlock_irqrestore(&priv->sta_lock, flags); |
490 | } | 497 | } |
491 | EXPORT_SYMBOL(iwl_clear_stations_table); | 498 | EXPORT_SYMBOL(iwl_clear_stations_table); |