On Mon, Aug 27, 2018 at 02:28:45PM -0700, peter.oh@xxxxxxxxxxxxxxxxx wrote: > Note: DFS is assumed to be usable if a country code has been set > diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c > @@ -2087,6 +2087,8 @@ void ibss_mesh_setup_freq(struct wpa_supplicant *wpa_s, > int chwidth, seg0, seg1; > u32 vht_caps = 0; > + int dfs_enabled = wpa_s->conf->country[0] && > + (wpa_s->drv_flags & WPA_DRIVER_FLAGS_RADAR); That looks strange.. Wouldn't that apply for non-DFS channels as well? Please also clearly identify the potential impact this might have on IBSS since this function is used for both mesh and IBSS. I would not want accidentally enable something unexpected for IBSS as part of these mesh related changes. > /* Check primary channel flags */ > - if (pri_chan->flag & (HOSTAPD_CHAN_DISABLED | HOSTAPD_CHAN_NO_IR)) > + if (pri_chan->flag & HOSTAPD_CHAN_DISABLED) > return; > + if (pri_chan->flag & (HOSTAPD_CHAN_RADAR | HOSTAPD_CHAN_NO_IR)) > + if (!dfs_enabled) > + return; That looks like an overly complex way of doing: if ((pri->chan->flag & HOSTAPD_CHAN_DISABLED) || ((pri->chan->flags & HOSTAPD_CHAN_NO_IR) && !dfs_enabled)) return; dfs_enabled should really be accurate here, though, to avoid impact on non-DFS channels. > /* Check secondary channel flags */ > - if (sec_chan->flag & (HOSTAPD_CHAN_DISABLED | HOSTAPD_CHAN_NO_IR)) > + if (sec_chan->flag & HOSTAPD_CHAN_DISABLED) > return; > + if (sec_chan->flag & (HOSTAPD_CHAN_RADAR | HOSTAPD_CHAN_NO_IR)) > + if (!dfs_enabled) > + return; Same here. > /* Back to HT configuration if channel not usable */ > - if (chan->flag & (HOSTAPD_CHAN_DISABLED | HOSTAPD_CHAN_NO_IR)) > + if (chan->flag & HOSTAPD_CHAN_DISABLED) > return; > + if (chan->flag & (HOSTAPD_CHAN_RADAR | HOSTAPD_CHAN_NO_IR)) > + if (!dfs_enabled) > + return; And here. > - if (chan->flag & (HOSTAPD_CHAN_DISABLED | > - HOSTAPD_CHAN_NO_IR | > - HOSTAPD_CHAN_RADAR)) > + if (chan->flag & HOSTAPD_CHAN_DISABLED) > continue; > + if (chan->flag & (HOSTAPD_CHAN_RADAR | HOSTAPD_CHAN_NO_IR)) > + if (!dfs_enabled) > + continue; And with a small addition here as well. -- Jouni Malinen PGP id EFC895FA _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap