Hi all,
I noticed this patch has not made it yet to the main branch.
It also solves the same issue in IBSS mode.
Should it help:
Tested-by: Koen Vandeputte <koen.vandeputte@xxxxxxxxxxxx>
Kind Regards,
Koen
On 2016-07-26 04:45, Masashi Honma wrote:
Previously, secondary channel offset could be non zero even though
disable_ht40=1. This patch fixes it.
Signed-off-by: Masashi Honma <masashi.honma@xxxxxxxxx>
---
wpa_supplicant/wpa_supplicant.c | 32 ++++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index aa4efd3..0548560 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -1907,20 +1907,27 @@ void ibss_mesh_setup_freq(struct wpa_supplicant *wpa_s,
break;
}
}
+#ifdef CONFIG_HT_OVERRIDES
+ if (ssid->disable_ht40)
+ ht40 = 0;
+#endif /* CONFIG_HT_OVERRIDES */
- /* Find secondary channel */
- for (i = 0; i < mode->num_channels; i++) {
- sec_chan = &mode->channels[i];
- if (sec_chan->chan == channel + ht40 * 4)
- break;
- sec_chan = NULL;
- }
- if (!sec_chan)
- return;
+ if (ht40) {
+ /* Find secondary channel */
+ for (i = 0; i < mode->num_channels; i++) {
+ sec_chan = &mode->channels[i];
+ if (sec_chan->chan == channel + ht40 * 4)
+ break;
+ sec_chan = NULL;
+ }
+ if (!sec_chan)
+ return;
- /* Check secondary channel flags */
- if (sec_chan->flag & (HOSTAPD_CHAN_DISABLED | HOSTAPD_CHAN_NO_IR))
- return;
+ /* Check secondary channel flags */
+ if (sec_chan->flag &
+ (HOSTAPD_CHAN_DISABLED | HOSTAPD_CHAN_NO_IR))
+ return;
+ }
freq->channel = pri_chan->chan;
@@ -1936,6 +1943,7 @@ void ibss_mesh_setup_freq(struct wpa_supplicant *wpa_s,
freq->sec_channel_offset = 1;
break;
default:
+ freq->sec_channel_offset = 0;
break;
}
_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap