diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-08-27 11:55:52 -0400 |
---|---|---|
committer | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2010-08-27 11:59:14 -0400 |
commit | dcef732c72fbe960de5069d3921bb6ce6847be58 (patch) | |
tree | 5bee7ebd3e00856302dd8243490f83bacb0d1ffb /drivers/net/wireless/iwlwifi/iwl-agn.c | |
parent | a194e3249baf954dc34c67cdad5b8bed36f49e72 (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.c | 10 |
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 | ||