mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 09:14:19 +08:00
iwlwifi: fix current channel is not scanned
All channels should be scanned, including the current channel when the client is associated. Removed also unused flag to scan only active channels. Signed-off-by: Guy Cohen <guy.cohen@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
21a75d7788
commit
f527648865
@ -742,7 +742,6 @@ struct iwl3945_priv {
|
||||
u8 direct_ssid_len;
|
||||
u8 direct_ssid[IW_ESSID_MAX_SIZE];
|
||||
struct iwl3945_scan_cmd *scan;
|
||||
u8 only_active_channel;
|
||||
|
||||
/* spinlock */
|
||||
spinlock_t lock; /* protect general shared data */
|
||||
|
@ -996,7 +996,6 @@ struct iwl_priv {
|
||||
u8 direct_ssid_len;
|
||||
u8 direct_ssid[IW_ESSID_MAX_SIZE];
|
||||
struct iwl4965_scan_cmd *scan;
|
||||
u8 only_active_channel;
|
||||
|
||||
/* spinlock */
|
||||
spinlock_t lock; /* protect general shared data */
|
||||
|
@ -4968,17 +4968,6 @@ static int iwl3945_get_channels_for_scan(struct iwl3945_priv *priv,
|
||||
if (channels[i].flags & IEEE80211_CHAN_DISABLED)
|
||||
continue;
|
||||
|
||||
if (channels[i].hw_value ==
|
||||
le16_to_cpu(priv->active_rxon.channel)) {
|
||||
if (iwl3945_is_associated(priv)) {
|
||||
IWL_DEBUG_SCAN
|
||||
("Skipping current channel %d\n",
|
||||
le16_to_cpu(priv->active_rxon.channel));
|
||||
continue;
|
||||
}
|
||||
} else if (priv->only_active_channel)
|
||||
continue;
|
||||
|
||||
scan_ch->channel = channels[i].hw_value;
|
||||
|
||||
ch_info = iwl3945_get_channel_info(priv, band, scan_ch->channel);
|
||||
@ -7314,8 +7303,6 @@ static void iwl3945_mac_reset_tsf(struct ieee80211_hw *hw)
|
||||
return;
|
||||
}
|
||||
|
||||
priv->only_active_channel = 0;
|
||||
|
||||
iwl3945_set_rate(priv);
|
||||
|
||||
mutex_unlock(&priv->mutex);
|
||||
|
@ -4633,17 +4633,6 @@ static int iwl4965_get_channels_for_scan(struct iwl_priv *priv,
|
||||
if (channels[i].flags & IEEE80211_CHAN_DISABLED)
|
||||
continue;
|
||||
|
||||
if (ieee80211_frequency_to_channel(channels[i].center_freq) ==
|
||||
le16_to_cpu(priv->active_rxon.channel)) {
|
||||
if (iwl_is_associated(priv)) {
|
||||
IWL_DEBUG_SCAN
|
||||
("Skipping current channel %d\n",
|
||||
le16_to_cpu(priv->active_rxon.channel));
|
||||
continue;
|
||||
}
|
||||
} else if (priv->only_active_channel)
|
||||
continue;
|
||||
|
||||
scan_ch->channel = ieee80211_frequency_to_channel(channels[i].center_freq);
|
||||
|
||||
ch_info = iwl_get_channel_info(priv, band,
|
||||
@ -7061,8 +7050,6 @@ static void iwl4965_mac_reset_tsf(struct ieee80211_hw *hw)
|
||||
return;
|
||||
}
|
||||
|
||||
priv->only_active_channel = 0;
|
||||
|
||||
iwl4965_set_rate(priv);
|
||||
|
||||
mutex_unlock(&priv->mutex);
|
||||
|
Loading…
Reference in New Issue
Block a user