]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Fix 20/40 MHz co-ex report processing with obss_interval=0
authorJouni Malinen <jouni@qca.qualcomm.com>
Tue, 3 Feb 2015 10:29:37 +0000 (12:29 +0200)
committerJouni Malinen <j@w1.fi>
Tue, 3 Feb 2015 10:29:37 +0000 (12:29 +0200)
If OBSS scan interval is not set, the AP must not schedule a timeout to
restore 40 MHz operation immediately after having moved to a 20 MHz
channel based on an unsolicited co-ex report. Fix this by scheduling the
timeout only if obss_interval is non-zero.

Since we do not currently support AP doing OBSS scans after the initial
BSS setup, this means practically that 40-to-20 MHz transition is
allowed, but 20-to-40 MHz is not with obss_interval=0. The latter gets
enabled if obss_interval is set to a non-zero value so that associated
STAs can take care of OBSS scanning.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
src/ap/ieee802_11_ht.c

index 3f299f3ee36005c660afafdc4fe70fadc0d71c61..4b0653de95dbdacab5a3f7873c3dd5c52982b6e6 100644 (file)
@@ -292,7 +292,8 @@ void hostapd_2040_coex_action(struct hostapd_data *hapd,
                        iface->conf->secondary_channel = 0;
                        ieee802_11_set_beacons(iface);
                }
-               if (!iface->num_sta_ht40_intolerant) {
+               if (!iface->num_sta_ht40_intolerant &&
+                   iface->conf->obss_interval) {
                        unsigned int delay_time;
                        delay_time = OVERLAPPING_BSS_TRANS_DELAY_FACTOR *
                                iface->conf->obss_interval;