From 45c3e729527a3c39227e8998ff1fa4b3ed86204e Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Fri, 30 Oct 2015 11:42:23 +0200 Subject: [PATCH] Add frequency to operating class determination for 5 GHz 100..140 This extends ieee80211_freq_to_channel_ext() with knowledge of the operating classes for the 5 GHz channels 100..140. Signed-off-by: Jouni Malinen --- src/common/ieee802_11_common.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/common/ieee802_11_common.c b/src/common/ieee802_11_common.c index 778185d1b..8dee88305 100644 --- a/src/common/ieee802_11_common.c +++ b/src/common/ieee802_11_common.c @@ -689,6 +689,25 @@ enum hostapd_hw_mode ieee80211_freq_to_channel_ext(unsigned int freq, return HOSTAPD_MODE_IEEE80211A; } + /* 5 GHz, channels 100..140 */ + if (freq >= 5000 && freq <= 5700) { + if ((freq - 5000) % 5) + return NUM_HOSTAPD_MODES; + + if (vht_opclass) + *op_class = vht_opclass; + else if (sec_channel == 1) + *op_class = 122; + else if (sec_channel == -1) + *op_class = 123; + else + *op_class = 121; + + *channel = (freq - 5000) / 5; + + return HOSTAPD_MODE_IEEE80211A; + } + if (freq >= 5000 && freq < 5900) { if ((freq - 5000) % 5) return NUM_HOSTAPD_MODES;