aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant
diff options
context:
space:
mode:
Diffstat (limited to 'wpa_supplicant')
-rw-r--r--wpa_supplicant/op_classes.c21
-rw-r--r--wpa_supplicant/p2p_supplicant.c6
-rw-r--r--wpa_supplicant/rrm.c4
-rw-r--r--wpa_supplicant/wnm_sta.c2
4 files changed, 23 insertions, 10 deletions
diff --git a/wpa_supplicant/op_classes.c b/wpa_supplicant/op_classes.c
index 41b47cc..a0ad0c2 100644
--- a/wpa_supplicant/op_classes.c
+++ b/wpa_supplicant/op_classes.c
@@ -77,7 +77,7 @@ static enum chan_allowed verify_80mhz(struct hostapd_hw_modes *mode,
unsigned int no_ir = 0;
const u8 *center_channels;
size_t num_chan;
- const u8 center_channels_5ghz[] = { 42, 58, 106, 122, 138, 155 };
+ const u8 center_channels_5ghz[] = { 42, 58, 106, 122, 138, 155, 171 };
const u8 center_channels_6ghz[] = { 7, 23, 39, 55, 71, 87, 103, 119,
135, 151, 167, 183, 199, 215 };
@@ -150,7 +150,7 @@ static enum chan_allowed verify_160mhz(struct hostapd_hw_modes *mode,
unsigned int no_ir = 0;
const u8 *center_channels;
size_t num_chan;
- const u8 center_channels_5ghz[] = { 50, 114 };
+ const u8 center_channels_5ghz[] = { 50, 114, 163 };
const u8 center_channels_6ghz[] = { 15, 47, 79, 111, 143, 175, 207 };
if (is_6ghz_op_class(op_class)) {
@@ -320,7 +320,7 @@ static int wpas_op_class_supported(struct wpa_supplicant *wpa_s,
#endif /* CONFIG_VHT_OVERRIDES */
if (op_class->op_class == 128) {
- u8 channels[] = { 42, 58, 106, 122, 138, 155 };
+ u8 channels[] = { 42, 58, 106, 122, 138, 155, 171 };
for (i = 0; i < ARRAY_SIZE(channels); i++) {
if (verify_channel(mode, op_class->op_class,
@@ -337,6 +337,8 @@ static int wpas_op_class_supported(struct wpa_supplicant *wpa_s,
return verify_channel(mode, op_class->op_class, 50,
op_class->bw) != NOT_ALLOWED ||
verify_channel(mode, op_class->op_class, 114,
+ op_class->bw) != NOT_ALLOWED ||
+ verify_channel(mode, op_class->op_class, 163,
op_class->bw) != NOT_ALLOWED;
}
@@ -354,6 +356,10 @@ static int wpas_op_class_supported(struct wpa_supplicant *wpa_s,
verify_channel(mode, op_class->op_class, 122,
op_class->bw) != NOT_ALLOWED ||
verify_channel(mode, op_class->op_class, 138,
+ op_class->bw) != NOT_ALLOWED ||
+ verify_channel(mode, op_class->op_class, 155,
+ op_class->bw) != NOT_ALLOWED ||
+ verify_channel(mode, op_class->op_class, 171,
op_class->bw) != NOT_ALLOWED)
found++;
if (verify_channel(mode, op_class->op_class, 106,
@@ -361,7 +367,14 @@ static int wpas_op_class_supported(struct wpa_supplicant *wpa_s,
verify_channel(mode, op_class->op_class, 138,
op_class->bw) != NOT_ALLOWED)
found++;
- if (verify_channel(mode, op_class->op_class, 155,
+ if (verify_channel(mode, op_class->op_class, 122,
+ op_class->bw) != NOT_ALLOWED &&
+ verify_channel(mode, op_class->op_class, 155,
+ op_class->bw) != NOT_ALLOWED)
+ found++;
+ if (verify_channel(mode, op_class->op_class, 138,
+ op_class->bw) != NOT_ALLOWED &&
+ verify_channel(mode, op_class->op_class, 171,
op_class->bw) != NOT_ALLOWED)
found++;
diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
index 7d6e2da..a1eaaf1 100644
--- a/wpa_supplicant/p2p_supplicant.c
+++ b/wpa_supplicant/p2p_supplicant.c
@@ -3578,7 +3578,7 @@ static int wpas_p2p_get_center_80mhz(struct wpa_supplicant *wpa_s,
struct hostapd_hw_modes *mode,
u8 channel)
{
- u8 center_channels[] = { 42, 58, 106, 122, 138, 155 };
+ u8 center_channels[] = { 42, 58, 106, 122, 138, 155, 171 };
size_t i;
if (mode->mode != HOSTAPD_MODE_IEEE80211A)
@@ -3639,7 +3639,7 @@ static int wpas_p2p_get_center_160mhz(struct wpa_supplicant *wpa_s,
struct hostapd_hw_modes *mode,
u8 channel)
{
- u8 center_channels[] = { 50, 114 };
+ u8 center_channels[] = { 50, 114, 163 };
unsigned int i;
if (mode->mode != HOSTAPD_MODE_IEEE80211A)
@@ -3787,7 +3787,7 @@ static int wpas_p2p_setup_channels(struct wpa_supplicant *wpa_s,
/* Check for non-continuous jump in channel index
* incrementation */
- if ((o->op_class == 128 || o->op_class == 130) &&
+ if ((o->op_class >= 128 && o->op_class <= 130) &&
ch < 149 && ch + o->inc > 149)
ch = 149;
diff --git a/wpa_supplicant/rrm.c b/wpa_supplicant/rrm.c
index 242496d..cf107eb 100644
--- a/wpa_supplicant/rrm.c
+++ b/wpa_supplicant/rrm.c
@@ -556,8 +556,8 @@ static int * wpas_add_channels(const struct oper_class_map *op,
static int * wpas_op_class_freqs(const struct oper_class_map *op,
struct hostapd_hw_modes *mode, int active)
{
- u8 channels_80mhz_5ghz[] = { 42, 58, 106, 122, 138, 155 };
- u8 channels_160mhz_5ghz[] = { 50, 114 };
+ u8 channels_80mhz_5ghz[] = { 42, 58, 106, 122, 138, 155, 171 };
+ u8 channels_160mhz_5ghz[] = { 50, 114, 163 };
u8 channels_80mhz_6ghz[] = { 7, 23, 39, 55, 71, 87, 103, 119, 135, 151,
167, 183, 199, 215 };
u8 channels_160mhz_6ghz[] = { 15, 47, 79, 111, 143, 175, 207 };
diff --git a/wpa_supplicant/wnm_sta.c b/wpa_supplicant/wnm_sta.c
index 19f1eca..c4c6651 100644
--- a/wpa_supplicant/wnm_sta.c
+++ b/wpa_supplicant/wnm_sta.c
@@ -552,7 +552,7 @@ static int wnm_nei_get_chan(struct wpa_supplicant *wpa_s, u8 op_class, u8 chan)
freq = 2407 + chan * 5;
else if (chan == 14)
freq = 2484;
- else if (chan >= 36 && chan <= 169)
+ else if (chan >= 36 && chan <= 177)
freq = 5000 + chan * 5;
}
return freq;