diff options
author | Jouni Malinen <jkmaline@cc.hut.fi> | 2005-07-30 15:50:03 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-07-30 18:17:23 -0400 |
commit | 0c629a69fd8ec7b67566cfc052a9b1c4b927805a (patch) | |
tree | 13c08758ef220b91a94299909d29252497313fc9 /drivers/net/wireless | |
parent | 2e4fd068e7e25e654a454ed4a425f239c0f6407a (diff) |
[PATCH] hostap update
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>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/hostap/hostap_info.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/wireless/hostap/hostap_info.c b/drivers/net/wireless/hostap/hostap_info.c index 6ca94918e0f8..5aa998fdf1c4 100644 --- a/drivers/net/wireless/hostap/hostap_info.c +++ b/drivers/net/wireless/hostap/hostap_info.c | |||
@@ -453,6 +453,19 @@ static void handle_info_queue_scanresults(local_info_t *local) | |||
453 | { | 453 | { |
454 | if (local->host_roaming == 1 && local->iw_mode == IW_MODE_INFRA) | 454 | if (local->host_roaming == 1 && local->iw_mode == IW_MODE_INFRA) |
455 | prism2_host_roaming(local); | 455 | prism2_host_roaming(local); |
456 | |||
457 | if (local->host_roaming == 2 && local->iw_mode == IW_MODE_INFRA && | ||
458 | memcmp(local->preferred_ap, "\x00\x00\x00\x00\x00\x00", | ||
459 | ETH_ALEN) != 0) { | ||
460 | /* | ||
461 | * Firmware seems to be getting into odd state in host_roaming | ||
462 | * mode 2 when hostscan is used without join command, so try | ||
463 | * to fix this by re-joining the current AP. This does not | ||
464 | * actually trigger a new association if the current AP is | ||
465 | * still in the scan results. | ||
466 | */ | ||
467 | prism2_host_roaming(local); | ||
468 | } | ||
456 | } | 469 | } |
457 | 470 | ||
458 | 471 | ||