12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- From: Masashi Honma <[email protected]>
- Date: Tue, 26 Jul 2016 11:45:40 +0900
- Subject: [PATCH] mesh: Set correct secondary channel offset if HT40 is
- disabled
- Previously, secondary channel offset could be non zero even though
- disable_ht40=1. This patch fixes it.
- Signed-off-by: Masashi Honma <[email protected]>
- ---
- --- a/wpa_supplicant/wpa_supplicant.c
- +++ b/wpa_supplicant/wpa_supplicant.c
- @@ -1901,20 +1901,27 @@ void ibss_mesh_setup_freq(struct wpa_sup
- 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;
-
- @@ -1930,6 +1937,7 @@ void ibss_mesh_setup_freq(struct wpa_sup
- freq->sec_channel_offset = 1;
- break;
- default:
- + freq->sec_channel_offset = 0;
- break;
- }
-
|