aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl3945-base.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl3945-base.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl3945-base.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index d723c474f810..13925b627e3b 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -6292,12 +6292,17 @@ static void iwl3945_bg_request_scan(struct work_struct *data)
6292 priv->direct_ssid, priv->direct_ssid_len); 6292 priv->direct_ssid, priv->direct_ssid_len);
6293 direct_mask = 1; 6293 direct_mask = 1;
6294 } else if (!iwl3945_is_associated(priv) && priv->essid_len) { 6294 } else if (!iwl3945_is_associated(priv) && priv->essid_len) {
6295 IWL_DEBUG_SCAN
6296 ("Kicking off one direct scan for '%s' when not associated\n",
6297 iwl3945_escape_essid(priv->essid, priv->essid_len));
6295 scan->direct_scan[0].id = WLAN_EID_SSID; 6298 scan->direct_scan[0].id = WLAN_EID_SSID;
6296 scan->direct_scan[0].len = priv->essid_len; 6299 scan->direct_scan[0].len = priv->essid_len;
6297 memcpy(scan->direct_scan[0].ssid, priv->essid, priv->essid_len); 6300 memcpy(scan->direct_scan[0].ssid, priv->essid, priv->essid_len);
6298 direct_mask = 1; 6301 direct_mask = 1;
6299 } else 6302 } else {
6303 IWL_DEBUG_SCAN("Kicking off one indirect scan.\n");
6300 direct_mask = 0; 6304 direct_mask = 0;
6305 }
6301 6306
6302 /* We don't build a direct scan probe request; the uCode will do 6307 /* We don't build a direct scan probe request; the uCode will do
6303 * that based on the direct_mask added to each channel entry */ 6308 * that based on the direct_mask added to each channel entry */
@@ -6335,23 +6340,18 @@ static void iwl3945_bg_request_scan(struct work_struct *data)
6335 if (priv->iw_mode == IEEE80211_IF_TYPE_MNTR) 6340 if (priv->iw_mode == IEEE80211_IF_TYPE_MNTR)
6336 scan->filter_flags = RXON_FILTER_PROMISC_MSK; 6341 scan->filter_flags = RXON_FILTER_PROMISC_MSK;
6337 6342
6338 if (direct_mask) { 6343 if (direct_mask)
6339 IWL_DEBUG_SCAN
6340 ("Initiating direct scan for %s.\n",
6341 iwl3945_escape_essid(priv->essid, priv->essid_len));
6342 scan->channel_count = 6344 scan->channel_count =
6343 iwl3945_get_channels_for_scan( 6345 iwl3945_get_channels_for_scan(
6344 priv, band, 1, /* active */ 6346 priv, band, 1, /* active */
6345 direct_mask, 6347 direct_mask,
6346 (void *)&scan->data[le16_to_cpu(scan->tx_cmd.len)]); 6348 (void *)&scan->data[le16_to_cpu(scan->tx_cmd.len)]);
6347 } else { 6349 else
6348 IWL_DEBUG_SCAN("Initiating indirect scan.\n");
6349 scan->channel_count = 6350 scan->channel_count =
6350 iwl3945_get_channels_for_scan( 6351 iwl3945_get_channels_for_scan(
6351 priv, band, 0, /* passive */ 6352 priv, band, 0, /* passive */
6352 direct_mask, 6353 direct_mask,
6353 (void *)&scan->data[le16_to_cpu(scan->tx_cmd.len)]); 6354 (void *)&scan->data[le16_to_cpu(scan->tx_cmd.len)]);
6354 }
6355 6355
6356 cmd.len += le16_to_cpu(scan->tx_cmd.len) + 6356 cmd.len += le16_to_cpu(scan->tx_cmd.len) +
6357 scan->channel_count * sizeof(struct iwl3945_scan_channel); 6357 scan->channel_count * sizeof(struct iwl3945_scan_channel);