On Tue, Oct 28, 2008 at 10:53 PM, Tomas Winkler <tomasw@xxxxxxxxx> wrote: > On Tue, Oct 28, 2008 at 7:21 PM, Johannes Berg > <johannes@xxxxxxxxxxxxxxxx> wrote: >> 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@xxxxxxxxxxxxxxxx> >> --- >> Am I missing something? This seems very strange! What specifies that >> when an SSID is set on an interface the user wants to scan for that one? >> The interface might just have been associated previously to that SSID, >> now disassociated and network manager is asking for a scan to get >> information about networks to let the user select a new one. > > NACK, this is a heuristic that helps connection to configured SSID. It > doesn't mean that other ssid won't be scanned. > This code might be revised again when multiple SSID scan will be implemented > Tomas > Okay I've only now have seen the real reason for this. The SSID removal from the driver API. It's much better argument for removing this code anyway have to think how this will be substituted. Thanks Tomas > >> drivers/net/wireless/iwlwifi/iwl-scan.c | 7 ------- >> drivers/net/wireless/iwlwifi/iwl3945-base.c | 8 -------- >> 2 files changed, 15 deletions(-) >> >> --- everything.orig/drivers/net/wireless/iwlwifi/iwl-scan.c 2008-10-28 18:12:02.000000000 +0100 >> +++ everything/drivers/net/wireless/iwlwifi/iwl-scan.c 2008-10-28 18:12:06.000000000 +0100 >> @@ -743,13 +743,6 @@ static void iwl_bg_request_scan(struct w >> memcpy(scan->direct_scan[0].ssid, >> priv->direct_ssid, priv->direct_ssid_len); >> n_probes++; >> - } else if (!iwl_is_associated(priv) && priv->essid_len) { >> - IWL_DEBUG_SCAN("Start direct scan for '%s' (not associated)\n", >> - print_ssid(ssid, priv->essid, priv->essid_len)); >> - scan->direct_scan[0].id = WLAN_EID_SSID; >> - scan->direct_scan[0].len = priv->essid_len; >> - memcpy(scan->direct_scan[0].ssid, priv->essid, priv->essid_len); >> - n_probes++; >> } else { >> IWL_DEBUG_SCAN("Start indirect scan.\n"); >> } >> --- everything.orig/drivers/net/wireless/iwlwifi/iwl3945-base.c 2008-10-28 18:12:20.000000000 +0100 >> +++ everything/drivers/net/wireless/iwlwifi/iwl3945-base.c 2008-10-28 18:12:27.000000000 +0100 >> @@ -6158,14 +6158,6 @@ static void iwl3945_bg_request_scan(stru >> memcpy(scan->direct_scan[0].ssid, >> priv->direct_ssid, priv->direct_ssid_len); >> n_probes++; >> - } else if (!iwl3945_is_associated(priv) && priv->essid_len) { >> - IWL_DEBUG_SCAN >> - ("Kicking off one direct scan for '%s' when not associated\n", >> - print_ssid(ssid, priv->essid, priv->essid_len)); >> - scan->direct_scan[0].id = WLAN_EID_SSID; >> - scan->direct_scan[0].len = priv->essid_len; >> - memcpy(scan->direct_scan[0].ssid, priv->essid, priv->essid_len); >> - n_probes++; >> } else >> IWL_DEBUG_SCAN("Kicking off one indirect scan.\n"); >> >> >> >> > -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html