diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-04-13 04:04:33 -0400 |
---|---|---|
committer | Reinette Chatre <reinette.chatre@intel.com> | 2010-04-16 16:54:06 -0400 |
commit | fa58b6a3b34944bb9fc0129ba2534bd91d082d61 (patch) | |
tree | 35317378ff0288e6e4c6a8bb6a4929951599b493 | |
parent | b2e8690d5a4d1868ee12f50aa00c138bec985b3c (diff) |
iwlwifi: don't check monitor for scanning
Monitor mode operation need not (and probably should
not) affect scanning this way since real monitoring
can not properly happen while scanning anyway.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-lib.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-core.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-core.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 3 |
4 files changed, 1 insertions, 8 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c index 2d00e83ec0a5..ccf335775ec3 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c | |||
@@ -1458,8 +1458,6 @@ void iwlagn_request_scan(struct iwl_priv *priv) | |||
1458 | 1458 | ||
1459 | } | 1459 | } |
1460 | scan->tx_cmd.len = cpu_to_le16(cmd_len); | 1460 | scan->tx_cmd.len = cpu_to_le16(cmd_len); |
1461 | if (iwl_is_monitor_mode(priv)) | ||
1462 | scan->filter_flags = RXON_FILTER_PROMISC_MSK; | ||
1463 | 1461 | ||
1464 | scan->filter_flags |= (RXON_FILTER_ACCEPT_GRP_MSK | | 1462 | scan->filter_flags |= (RXON_FILTER_ACCEPT_GRP_MSK | |
1465 | RXON_FILTER_BCON_AWARE_MSK); | 1463 | RXON_FILTER_BCON_AWARE_MSK); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c index aa86ef9fb426..d282bef5d7ea 100644 --- a/drivers/net/wireless/iwlwifi/iwl-core.c +++ b/drivers/net/wireless/iwlwifi/iwl-core.c | |||
@@ -834,11 +834,10 @@ static u8 iwl_count_chain_bitmap(u32 chain_bitmap) | |||
834 | * never called for monitor mode. The only way mac80211 informs us about | 834 | * never called for monitor mode. The only way mac80211 informs us about |
835 | * monitor mode is through configuring filters (call to configure_filter). | 835 | * monitor mode is through configuring filters (call to configure_filter). |
836 | */ | 836 | */ |
837 | bool iwl_is_monitor_mode(struct iwl_priv *priv) | 837 | static bool iwl_is_monitor_mode(struct iwl_priv *priv) |
838 | { | 838 | { |
839 | return !!(priv->staging_rxon.filter_flags & RXON_FILTER_PROMISC_MSK); | 839 | return !!(priv->staging_rxon.filter_flags & RXON_FILTER_PROMISC_MSK); |
840 | } | 840 | } |
841 | EXPORT_SYMBOL(iwl_is_monitor_mode); | ||
842 | 841 | ||
843 | /** | 842 | /** |
844 | * iwl_set_rxon_chain - Set up Rx chain usage in "staging" RXON image | 843 | * iwl_set_rxon_chain - Set up Rx chain usage in "staging" RXON image |
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h index d9ec0307220c..e267a218e3e0 100644 --- a/drivers/net/wireless/iwlwifi/iwl-core.h +++ b/drivers/net/wireless/iwlwifi/iwl-core.h | |||
@@ -351,7 +351,6 @@ void iwl_configure_filter(struct ieee80211_hw *hw, | |||
351 | unsigned int changed_flags, | 351 | unsigned int changed_flags, |
352 | unsigned int *total_flags, u64 multicast); | 352 | unsigned int *total_flags, u64 multicast); |
353 | int iwl_set_hw_params(struct iwl_priv *priv); | 353 | int iwl_set_hw_params(struct iwl_priv *priv); |
354 | bool iwl_is_monitor_mode(struct iwl_priv *priv); | ||
355 | void iwl_post_associate(struct iwl_priv *priv); | 354 | void iwl_post_associate(struct iwl_priv *priv); |
356 | void iwl_bss_info_changed(struct ieee80211_hw *hw, | 355 | void iwl_bss_info_changed(struct ieee80211_hw *hw, |
357 | struct ieee80211_vif *vif, | 356 | struct ieee80211_vif *vif, |
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 64b20e78376e..e7263ed693c4 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -2963,9 +2963,6 @@ void iwl3945_request_scan(struct iwl_priv *priv) | |||
2963 | /* select Rx antennas */ | 2963 | /* select Rx antennas */ |
2964 | scan->flags |= iwl3945_get_antenna_flags(priv); | 2964 | scan->flags |= iwl3945_get_antenna_flags(priv); |
2965 | 2965 | ||
2966 | if (iwl_is_monitor_mode(priv)) | ||
2967 | scan->filter_flags = RXON_FILTER_PROMISC_MSK; | ||
2968 | |||
2969 | scan->channel_count = | 2966 | scan->channel_count = |
2970 | iwl3945_get_channels_for_scan(priv, band, is_active, n_probes, | 2967 | iwl3945_get_channels_for_scan(priv, band, is_active, n_probes, |
2971 | (void *)&scan->data[le16_to_cpu(scan->tx_cmd.len)]); | 2968 | (void *)&scan->data[le16_to_cpu(scan->tx_cmd.len)]); |