[PATCH] hostap update
authorJouni Malinen <jkmaline@cc.hut.fi>
Sat, 30 Jul 2005 19:50:03 +0000 (12:50 -0700)
committerJeff Garzik <jgarzik@pobox.com>
Sat, 30 Jul 2005 22:17:23 +0000 (18:17 -0400)
Firmware seems to be getting into odd state in host_roaming mode 2
when hostscan is used without join command, so try to fix this by
re-joining the current AP. This does not actually trigger a new
association if the current AP is still in the scan results.

This makes background scans (iwlist wlan0 scan) not to break data
connection when in host_roaming 2 mode, e.g., when using wpa_supplicant.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
drivers/net/wireless/hostap/hostap_info.c

index 6ca94918e0f834a2cbd7a3a3c6da2e31754b7128..5aa998fdf1c48d276a72cd2b8ea2fc3297218b28 100644 (file)
@@ -453,6 +453,19 @@ static void handle_info_queue_scanresults(local_info_t *local)
 {
        if (local->host_roaming == 1 && local->iw_mode == IW_MODE_INFRA)
                prism2_host_roaming(local);
+
+       if (local->host_roaming == 2 && local->iw_mode == IW_MODE_INFRA &&
+           memcmp(local->preferred_ap, "\x00\x00\x00\x00\x00\x00",
+                  ETH_ALEN) != 0) {
+               /*
+                * Firmware seems to be getting into odd state in host_roaming
+                * mode 2 when hostscan is used without join command, so try
+                * to fix this by re-joining the current AP. This does not
+                * actually trigger a new association if the current AP is
+                * still in the scan results.
+                */
+               prism2_host_roaming(local);
+       }
 }