aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStanislaw Gruszka <sgruszka@redhat.com>2010-10-22 11:04:27 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-11-15 13:24:26 -0500
commit749ff4efa14df904c22b28e2f7b10a02119a4d5e (patch)
tree18e8c004b6e8fc19848a10cf568c6609207bed15
parenta25a66ac94db88190653d5725c563e3f8faeee61 (diff)
iwlwifi: avoid commit rxon during scan in iwlagn_configure_filter
Almost anywhere in the code we avoid committing rxon while performing scan, and make rxon commit when scan complete. However in some places in the code we do not follow that rule. This patch fix that problem in iwlagn_configure_filter(). Since we do not commit directly in iwl3945_configure_filter, we can also do the same for agn, so I just remove iwlcore_commit_rxon() function and add a comment. Also change comment for iwl3945. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c6
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index d3435c430273..0ba8083ee4cd 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -3983,7 +3983,11 @@ static void iwlagn_configure_filter(struct ieee80211_hw *hw,
3983 for_each_context(priv, ctx) { 3983 for_each_context(priv, ctx) {
3984 ctx->staging.filter_flags &= ~filter_nand; 3984 ctx->staging.filter_flags &= ~filter_nand;
3985 ctx->staging.filter_flags |= filter_or; 3985 ctx->staging.filter_flags |= filter_or;
3986 iwlcore_commit_rxon(priv, ctx); 3986
3987 /*
3988 * Not committing directly because hardware can perform a scan,
3989 * but we'll eventually commit the filter flags change anyway.
3990 */
3987 } 3991 }
3988 3992
3989 mutex_unlock(&priv->mutex); 3993 mutex_unlock(&priv->mutex);
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index a75429171c46..3b8bf8686276 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -3407,9 +3407,9 @@ static void iwl3945_configure_filter(struct ieee80211_hw *hw,
3407 ctx->staging.filter_flags |= filter_or; 3407 ctx->staging.filter_flags |= filter_or;
3408 3408
3409 /* 3409 /*
3410 * Committing directly here breaks for some reason, 3410 * Not committing directly because hardware can perform a scan,
3411 * but we'll eventually commit the filter flags 3411 * but even if hw is ready, committing here breaks for some reason,
3412 * change anyway. 3412 * we'll eventually commit the filter flags change anyway.
3413 */ 3413 */
3414 3414
3415 mutex_unlock(&priv->mutex); 3415 mutex_unlock(&priv->mutex);