diff options
author | Stanislaw Gruszka <sgruszka@redhat.com> | 2010-10-22 11:04:27 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-11-15 13:24:26 -0500 |
commit | 749ff4efa14df904c22b28e2f7b10a02119a4d5e (patch) | |
tree | 18e8c004b6e8fc19848a10cf568c6609207bed15 | |
parent | a25a66ac94db88190653d5725c563e3f8faeee61 (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.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 6 |
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); |