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 <[EMAIL PROTECTED]> Index: netdev-2.6/drivers/net/wireless/hostap/hostap_info.c =================================================================== --- netdev-2.6.orig/drivers/net/wireless/hostap/hostap_info.c +++ netdev-2.6/drivers/net/wireless/hostap/hostap_info.c @@ -453,6 +453,19 @@ static void handle_info_queue_scanresult { 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); + } } -- -- Jouni Malinen PGP id EFC895FA - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html