Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iwlwifi: remove implicit direct scan

When an undirected scan is requested and iwlwifi is not associated but
the user has set an SSID (and maybe was associated with that network at
some point) then iwlwifi will assume the user wanted to scan for this
SSID which seems wrong. Remove this code.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by

Johannes Berg and committed by
John W. Linville
a57a59f2 430cfe95

-15
-7
drivers/net/wireless/iwlwifi/iwl-scan.c
··· 743 743 memcpy(scan->direct_scan[0].ssid, 744 744 priv->direct_ssid, priv->direct_ssid_len); 745 745 n_probes++; 746 - } else if (!iwl_is_associated(priv) && priv->essid_len) { 747 - IWL_DEBUG_SCAN("Start direct scan for '%s' (not associated)\n", 748 - print_ssid(ssid, priv->essid, priv->essid_len)); 749 - scan->direct_scan[0].id = WLAN_EID_SSID; 750 - scan->direct_scan[0].len = priv->essid_len; 751 - memcpy(scan->direct_scan[0].ssid, priv->essid, priv->essid_len); 752 - n_probes++; 753 746 } else { 754 747 IWL_DEBUG_SCAN("Start indirect scan.\n"); 755 748 }
-8
drivers/net/wireless/iwlwifi/iwl3945-base.c
··· 6148 6148 memcpy(scan->direct_scan[0].ssid, 6149 6149 priv->direct_ssid, priv->direct_ssid_len); 6150 6150 n_probes++; 6151 - } else if (!iwl3945_is_associated(priv) && priv->essid_len) { 6152 - IWL_DEBUG_SCAN 6153 - ("Kicking off one direct scan for '%s' when not associated\n", 6154 - print_ssid(ssid, priv->essid, priv->essid_len)); 6155 - scan->direct_scan[0].id = WLAN_EID_SSID; 6156 - scan->direct_scan[0].len = priv->essid_len; 6157 - memcpy(scan->direct_scan[0].ssid, priv->essid, priv->essid_len); 6158 - n_probes++; 6159 6151 } else 6160 6152 IWL_DEBUG_SCAN("Kicking off one indirect scan.\n"); 6161 6153