aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDedy Lansky <qca_dlansky@qca.qualcomm.com>2016-03-07 15:22:54 +0200
committerHamad Kadmany <hkadmany@codeaurora.org>2016-03-09 17:12:26 +0200
commit4f617210177c40f9f734e35506ced00eaf2f800f (patch)
tree1af2d95d87c17a63a1d2277e7c9e6de79ad2f2bc
parent59ac0bcdeabc8dd3196df121a1e25ce56d9a809a (diff)
downloadandroid_external_wpa_supplicant_8-4f617210177c40f9f734e35506ced00eaf2f800f.tar.gz
android_external_wpa_supplicant_8-4f617210177c40f9f734e35506ced00eaf2f800f.tar.bz2
android_external_wpa_supplicant_8-4f617210177c40f9f734e35506ced00eaf2f800f.zip
FST: Fix session setup failure with peer without MB IE
Upon receiving FST setup request on old band, the peer is searched on new band. The assumption is that MB IE from this peer on new band previously received either in assoc event or in FST setup request. There are cases in which above assumption doesn't work, peer is not found and session setup fails. For example: - STA connects over 11ac. Due to driver limitation, MB IE is not included in assoc event - STA connects over 11ad. MB IE included in assoc event. - FST session established on 11ac band, with AP as initiator. i.e. FST setup request sent in AP=>STA direction. STA searches for peer's (AP) MB IE on 11ad band which exists. - FST switch occur - FST session established on 11ad band, with STA as initiator. i.e. FST setup request sent in STA=>AP direction. AP searches for peer's (STA) MB IE on 11ac band which are absent. For fixing the above, consider also peers without MB IE as candidates in the search algorithm. Change-Id: I3db41951aeec860fef9a1abf9fe78fabef269999 Signed-off-by: Dedy Lansky <qca_dlansky@qca.qualcomm.com> Git-commit: cc1af6faed963a33809c6bcd4b590c44a64b0d96 Git-repo: git://w1.fi/srv/git/hostap.git CRs-Fixed: 987506
-rw-r--r--src/fst/fst_group.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/fst/fst_group.c b/src/fst/fst_group.c
index e0c055f0..d6157b17 100644
--- a/src/fst/fst_group.c
+++ b/src/fst/fst_group.c
@@ -220,7 +220,7 @@ fst_group_get_new_iface_by_mbie_and_band_id(struct fst_group *g,
if (peer_addr &&
fst_iface_is_connected(iface, peer_addr,
- TRUE) &&
+ FALSE) &&
band_id == fst_iface_get_band_id(iface)) {
os_memcpy(iface_peer_addr, peer_addr,
ETH_ALEN);