From: Jouni Malinen Date: Tue, 3 Feb 2015 10:29:37 +0000 (+0200) Subject: Fix 20/40 MHz co-ex report processing with obss_interval=0 X-Git-Tag: hostap_2_4~217 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d027c7b118fe7bfea7b4ac70f16665a82a657e0e;p=thirdparty%2Fhostap.git Fix 20/40 MHz co-ex report processing with obss_interval=0 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 --- diff --git a/src/ap/ieee802_11_ht.c b/src/ap/ieee802_11_ht.c index 3f299f3ee..4b0653de9 100644 --- a/src/ap/ieee802_11_ht.c +++ b/src/ap/ieee802_11_ht.c @@ -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;