On Tue, Mar 19, 2019 at 12:35:56PM +0000, Sergey Matyukevich wrote: > In the current implementation connected STA performs OBSS scan according > to requests from its 20/40 MHz AP. However STA checks only 40MHz intolerance > bit from HT_CAP IE in scan results. Meanwhile, as per to 802.11 standard, > STA should check overlapping BSSs as well. > > Note that all the required code to check overlapping BSSs is already exists > in hostapd source tree since AP does those checks properly before operating > as 20/40 MHz BSS in 2.4G band. So this commit makes use of existing code > by doing the following changes: > - extract new check_bss_coex_40mhz function from check_40mhz_2g4 > - replace existing 40MHz intolerance check in sme_proc_obss_scan > by new check_bss_coex_40mhz function Thanks, applied with some cleanup and fixes. > diff --git a/wpa_supplicant/sme.c b/wpa_supplicant/sme.c > @@ -2083,30 +2085,42 @@ int sme_proc_obss_scan(struct wpa_supplicant *wpa_s) > - if (!ht_cap || (ht_cap & HT_CAP_INFO_40MHZ_INTOLERANT)) { > - if (ht_cap & HT_CAP_INFO_40MHZ_INTOLERANT) > - num_intol++; > + if (!check_bss_coex_40mhz(bss, pri_freq, sec_freq)) { > + num_intol++; > > /* Check whether the channel is already considered */ In particular, that change to force any overlapping BSS to claim 40 MHz intolerance does not look correct. num_intol needs to remain 0 for those cases to avoid indicating the 20 MHz width request incorrectly. -- Jouni Malinen PGP id EFC895FA _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap