12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- From dea50507861b79f522c70500fe978072f143af8f Mon Sep 17 00:00:00 2001
- From: Jouni Malinen <jouni.malinen@atheros.com>
- Date: Fri, 12 Nov 2010 18:31:56 +0200
- Subject: [PATCH] AP: Verify that HT40 secondary channel is supported
- Refuse to enable HT40 mode AP unless both the primary and secondary
- channels are enabled for AP use.
- (cherry picked from commit 8ea3dd21d2e8b760612af0c7b6a3bb5b89ba7304)
- ---
- src/ap/hw_features.c | 26 ++++++++++++++++++++++++++
- 1 files changed, 26 insertions(+), 0 deletions(-)
- diff --git a/src/ap/hw_features.c b/src/ap/hw_features.c
- index 0159c72..7fc5b83 100644
- --- a/src/ap/hw_features.c
- +++ b/src/ap/hw_features.c
- @@ -642,6 +642,32 @@ int hostapd_select_hw_mode(struct hostapd_iface *iface)
- break;
- }
- }
- + if (ok && iface->conf->secondary_channel) {
- + int sec_ok = 0;
- + int sec_chan = iface->conf->channel +
- + iface->conf->secondary_channel * 4;
- + for (j = 0; j < iface->current_mode->num_channels; j++) {
- + struct hostapd_channel_data *chan =
- + &iface->current_mode->channels[j];
- + if (!(chan->flag & HOSTAPD_CHAN_DISABLED) &&
- + (chan->chan == sec_chan)) {
- + sec_ok = 1;
- + break;
- + }
- + }
- + if (!sec_ok) {
- + hostapd_logger(iface->bss[0], NULL,
- + HOSTAPD_MODULE_IEEE80211,
- + HOSTAPD_LEVEL_WARNING,
- + "Configured HT40 secondary channel "
- + "(%d) not found from the channel list "
- + "of current mode (%d) %s",
- + sec_chan, iface->current_mode->mode,
- + hostapd_hw_mode_txt(
- + iface->current_mode->mode));
- + ok = 0;
- + }
- + }
- if (iface->conf->channel == 0) {
- /* TODO: could request a scan of neighboring BSSes and select
- * the channel automatically */
- --
- 1.7.4-rc1
|