From cc1af6faed963a33809c6bcd4b590c44a64b0d96 Mon Sep 17 00:00:00 2001 From: Dedy Lansky Date: Mon, 7 Mar 2016 15:22:54 +0200 Subject: [PATCH] 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. Signed-off-by: Dedy Lansky --- src/fst/fst_group.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fst/fst_group.c b/src/fst/fst_group.c index e0c055f0c..d6157b17b 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);