Files
wlan-ap/feeds/ipq807x_v5.4/hostapd/patches/k00-002-hostapd-Fix-channel-switch-on-6g.patch
John Crispin 3b6582117b ipq807x: add ath12 / v5.4 support
Signed-off-by: John Crispin <john@phrozen.org>
2023-04-10 14:25:48 +02:00

43 lines
1.3 KiB
Diff

From 6e1348ac1eaa8a4a62dccce588aa9306f876b068 Mon Sep 17 00:00:00 2001
From: Anilkumar Kolli <akolli@codeaurora.org>
Date: Mon, 24 May 2021 22:18:11 +0530
Subject: [PATCH] hostapd: Fix channel switch on 6g
Below cmd does not return fail, but fails to update beacon.
Center frequency used in command is not valid for 80M bandwidth.
hostapd_cli -i wlan0 chan_switch 5 6315 sec_channel_offset=1
center_freq1=6345 bandwidth=80 he
This patch adds condition check to validate the center frequency.
Signed-off-by: Anilkumar Kolli <akolli@codeaurora.org>
---
hostapd/ctrl_iface.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
index ea1a1567278c..664711d5bd87 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
@@ -2528,6 +2528,16 @@ static int hostapd_ctrl_get_pmk(struct hostapd_data *hapd, const char *cmd,
#ifdef NEED_AP_MLME
static int hostapd_ctrl_check_freq_params(struct hostapd_freq_params *params)
{
+ int idx, bw, bw_idx[] = { 20, 40, 80, 160 };
+
+ if (is_6ghz_freq(params->freq) && params->center_freq1) {
+ idx = (params->center_freq1 - 5950) / 5;
+ bw = center_idx_to_bw_6ghz(idx);
+
+ if (bw < 0 || (bw_idx[bw] != params->bandwidth))
+ return -1;
+ }
+
switch (params->bandwidth) {
case 0:
/* bandwidth not specified: use 20 MHz by default */
--
2.7.4