iwlwifi: fix current channel is not scanned
authorGuy Cohen <guy.cohen@intel.com>
Mon, 21 Apr 2008 22:41:57 +0000 (15:41 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 1 May 2008 21:38:24 +0000 (17:38 -0400)
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>
drivers/net/wireless/iwlwifi/iwl-3945.h
drivers/net/wireless/iwlwifi/iwl-4965.h
drivers/net/wireless/iwlwifi/iwl3945-base.c
drivers/net/wireless/iwlwifi/iwl4965-base.c

index 45c1c5533bf0c549ea08d9c0fd23f5f98c3f6bab..c7695a215a394a958074b45caaf4e6f4fb4b6d7b 100644 (file)
@@ -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 */
index 9ed13cb0a2a9f0354b95dc04d29ec9e0e517f942..581b98556c86cff0d4f8d2f2c9c56b5b7843e03c 100644 (file)
@@ -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 */
index a1a0b3c581f1d469abbcc913b22f9a02b2be2f25..d723c474f810a78b7713f7ae1bf5dee487550720 100644 (file)
@@ -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);
index d0bbcaaeb94c8a8d30a42e5f6bc5c488c861e6ee..6d077aff9cb6c02fd1b3ec18a6b929ae69517bcd 100644 (file)
@@ -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);