aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-09-21 23:16:01 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-09-21 23:16:01 +0000
commit6db3fd7a546f80c5e4a625cbd5d371b30cf59254 (patch)
tree477f20eaa255116cf9dbf7db78262717ea16d161
parent7f7c73cd85b878caa25e2efb0c0296d2d9fdc8d5 (diff)
parentdf142cd62bf35e9160039d6ed509dbc81461a86b (diff)
downloadwpa_supplicant_8-android14-qpr1-s2-release.tar.gz
Change-Id: I1e7d1eec4e83007405aaf53cfb75b06201fb9065
-rw-r--r--src/common/ieee802_11_common.c47
1 files changed, 24 insertions, 23 deletions
diff --git a/src/common/ieee802_11_common.c b/src/common/ieee802_11_common.c
index abe3a6a0..dcadfbe5 100644
--- a/src/common/ieee802_11_common.c
+++ b/src/common/ieee802_11_common.c
@@ -1800,6 +1800,7 @@ static int ieee80211_chan_to_freq_eu(u8 op_class, u8 chan)
static int ieee80211_chan_to_freq_jp(u8 op_class, u8 chan)
{
+ /* Table E-3 in IEEE Std 802.11-2020 - Operating classes in Japan */
switch (op_class) {
case 30: /* channels 1..13 */
case 56: /* channels 1..9; 40 MHz */
@@ -1823,14 +1824,14 @@ static int ieee80211_chan_to_freq_jp(u8 op_class, u8 chan)
if (chan < 34 || chan > 64)
return -1;
return 5000 + 5 * chan;
- case 34: /* channels 100-140 */
- case 35: /* channels 100-140 */
- case 39: /* channels 100-132; 40 MHz */
- case 40: /* channels 100-132; 40 MHz */
- case 44: /* channels 104-136; 40 MHz */
- case 45: /* channels 104-136; 40 MHz */
- case 58: /* channels 100-140 */
- if (chan < 100 || chan > 140)
+ case 34: /* channels 100-144 */
+ case 35: /* reserved */
+ case 39: /* channels 100-140; 40 MHz */
+ case 40: /* reserved */
+ case 44: /* channels 104-144; 40 MHz */
+ case 45: /* reserved */
+ case 58: /* channels 100-144 */
+ if (chan < 100 || chan > 144)
return -1;
return 5000 + 5 * chan;
case 59: /* 60 GHz band, channels 1..6 */
@@ -1884,7 +1885,7 @@ static int ieee80211_chan_to_freq_cn(u8 op_class, u8 chan)
static int ieee80211_chan_to_freq_global(u8 op_class, u8 chan)
{
- /* Table E-4 in IEEE Std 802.11-2012 - Global operating classes */
+ /* Table E-4 in IEEE Std 802.11-2020 - Global operating classes */
switch (op_class) {
case 81:
/* channels 1..13 */
@@ -1910,10 +1911,10 @@ static int ieee80211_chan_to_freq_global(u8 op_class, u8 chan)
if (chan < 36 || chan > 64)
return -1;
return 5000 + 5 * chan;
- case 121: /* channels 100-140 */
- case 122: /* channels 100-142; 40 MHz */
- case 123: /* channels 104-136; 40 MHz */
- if (chan < 100 || chan > 140)
+ case 121: /* channels 100-144 */
+ case 122: /* channels 100-140; 40 MHz */
+ case 123: /* channels 104-144; 40 MHz */
+ if (chan < 100 || chan > 144)
return -1;
return 5000 + 5 * chan;
case 124: /* channels 149,153,157,161 */
@@ -2015,7 +2016,7 @@ int ieee80211_is_dfs(int freq, const struct hostapd_hw_modes *modes,
if (!modes || !num_modes)
return (freq >= 5260 && freq <= 5320) ||
- (freq >= 5500 && freq <= 5700);
+ (freq >= 5500 && freq <= 5720);
for (i = 0; i < num_modes; i++) {
for (j = 0; j < modes[i].num_channels; j++) {
@@ -2388,9 +2389,9 @@ const struct oper_class_map global_op_class[] = {
{ HOSTAPD_MODE_IEEE80211A, 118, 52, 64, 4, BW20, NO_P2P_SUPP },
{ HOSTAPD_MODE_IEEE80211A, 119, 52, 60, 8, BW40PLUS, NO_P2P_SUPP },
{ HOSTAPD_MODE_IEEE80211A, 120, 56, 64, 8, BW40MINUS, NO_P2P_SUPP },
- { HOSTAPD_MODE_IEEE80211A, 121, 100, 140, 4, BW20, NO_P2P_SUPP },
- { HOSTAPD_MODE_IEEE80211A, 122, 100, 132, 8, BW40PLUS, NO_P2P_SUPP },
- { HOSTAPD_MODE_IEEE80211A, 123, 104, 136, 8, BW40MINUS, NO_P2P_SUPP },
+ { HOSTAPD_MODE_IEEE80211A, 121, 100, 144, 4, BW20, NO_P2P_SUPP },
+ { HOSTAPD_MODE_IEEE80211A, 122, 100, 140, 8, BW40PLUS, NO_P2P_SUPP },
+ { HOSTAPD_MODE_IEEE80211A, 123, 104, 144, 8, BW40MINUS, NO_P2P_SUPP },
{ HOSTAPD_MODE_IEEE80211A, 124, 149, 161, 4, BW20, P2P_SUPP },
{ HOSTAPD_MODE_IEEE80211A, 125, 149, 177, 4, BW20, P2P_SUPP },
{ HOSTAPD_MODE_IEEE80211A, 126, 149, 173, 8, BW40PLUS, P2P_SUPP },
@@ -3065,10 +3066,10 @@ int op_class_to_bandwidth(u8 op_class)
case 119: /* channels 52,60; 40 MHz; dfs */
case 120: /* channels 56,64; 40 MHz; dfs */
return 40;
- case 121: /* channels 100-140 */
+ case 121: /* channels 100-144 */
return 20;
- case 122: /* channels 100-142; 40 MHz */
- case 123: /* channels 104-136; 40 MHz */
+ case 122: /* channels 100-140; 40 MHz */
+ case 123: /* channels 104-144; 40 MHz */
return 40;
case 124: /* channels 149,153,157,161 */
case 125: /* channels 149,153,157,161,165,169,173,177 */
@@ -3128,10 +3129,10 @@ enum oper_chan_width op_class_to_ch_width(u8 op_class)
case 119: /* channels 52,60; 40 MHz; dfs */
case 120: /* channels 56,64; 40 MHz; dfs */
return CONF_OPER_CHWIDTH_USE_HT;
- case 121: /* channels 100-140 */
+ case 121: /* channels 100-144 */
return CONF_OPER_CHWIDTH_USE_HT;
- case 122: /* channels 100-142; 40 MHz */
- case 123: /* channels 104-136; 40 MHz */
+ case 122: /* channels 100-140; 40 MHz */
+ case 123: /* channels 104-144; 40 MHz */
return CONF_OPER_CHWIDTH_USE_HT;
case 124: /* channels 149,153,157,161 */
case 125: /* channels 149,153,157,161,165,169,171 */