diff options
| author | Dedy Lansky <qca_dlansky@qca.qualcomm.com> | 2016-03-07 15:22:54 +0200 |
|---|---|---|
| committer | Hamad Kadmany <hkadmany@codeaurora.org> | 2016-03-09 17:12:26 +0200 |
| commit | 4f617210177c40f9f734e35506ced00eaf2f800f (patch) | |
| tree | 1af2d95d87c17a63a1d2277e7c9e6de79ad2f2bc | |
| parent | 59ac0bcdeabc8dd3196df121a1e25ce56d9a809a (diff) | |
| download | android_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.c | 2 |
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); |
