aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-agn.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2010-08-27 11:55:52 -0400
committerWey-Yi Guy <wey-yi.w.guy@intel.com>2010-08-27 11:59:14 -0400
commitdcef732c72fbe960de5069d3921bb6ce6847be58 (patch)
tree5bee7ebd3e00856302dd8243490f83bacb0d1ffb /drivers/net/wireless/iwlwifi/iwl-agn.c
parenta194e3249baf954dc34c67cdad5b8bed36f49e72 (diff)
iwlwifi: contextify-stations-completely
The microcode tracks stations per context, so the driver needs to do that as well for adding, deleting and restoring them, especially in the implicit removal case when we send an RXON. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index d2222782f46c..23db6c3e9aee 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -163,8 +163,8 @@ int iwl_commit_rxon(struct iwl_priv *priv, struct iwl_rxon_context *ctx)
163 IWL_ERR(priv, "Error clearing ASSOC_MSK (%d)\n", ret); 163 IWL_ERR(priv, "Error clearing ASSOC_MSK (%d)\n", ret);
164 return ret; 164 return ret;
165 } 165 }
166 iwl_clear_ucode_stations(priv); 166 iwl_clear_ucode_stations(priv, ctx);
167 iwl_restore_stations(priv); 167 iwl_restore_stations(priv, ctx);
168 ret = iwl_restore_default_wep_keys(priv); 168 ret = iwl_restore_default_wep_keys(priv);
169 if (ret) { 169 if (ret) {
170 IWL_ERR(priv, "Failed to restore WEP keys (%d)\n", ret); 170 IWL_ERR(priv, "Failed to restore WEP keys (%d)\n", ret);
@@ -195,8 +195,8 @@ int iwl_commit_rxon(struct iwl_priv *priv, struct iwl_rxon_context *ctx)
195 } 195 }
196 IWL_DEBUG_INFO(priv, "Return from !new_assoc RXON.\n"); 196 IWL_DEBUG_INFO(priv, "Return from !new_assoc RXON.\n");
197 memcpy(active_rxon, &ctx->staging, sizeof(*active_rxon)); 197 memcpy(active_rxon, &ctx->staging, sizeof(*active_rxon));
198 iwl_clear_ucode_stations(priv); 198 iwl_clear_ucode_stations(priv, ctx);
199 iwl_restore_stations(priv); 199 iwl_restore_stations(priv, ctx);
200 ret = iwl_restore_default_wep_keys(priv); 200 ret = iwl_restore_default_wep_keys(priv);
201 if (ret) { 201 if (ret) {
202 IWL_ERR(priv, "Failed to restore WEP keys (%d)\n", ret); 202 IWL_ERR(priv, "Failed to restore WEP keys (%d)\n", ret);
@@ -2830,7 +2830,7 @@ static void __iwl_down(struct iwl_priv *priv)
2830 if (priv->cfg->ops->lib->recover_from_tx_stall) 2830 if (priv->cfg->ops->lib->recover_from_tx_stall)
2831 del_timer_sync(&priv->monitor_recover); 2831 del_timer_sync(&priv->monitor_recover);
2832 2832
2833 iwl_clear_ucode_stations(priv); 2833 iwl_clear_ucode_stations(priv, NULL);
2834 iwl_dealloc_bcast_stations(priv); 2834 iwl_dealloc_bcast_stations(priv);
2835 iwl_clear_driver_stations(priv); 2835 iwl_clear_driver_stations(priv);
2836 2836