blob: 74c685bafbb0daae0811629f5115b183b9d752f1 [file] [log] [blame]
developer36fe7092023-09-27 12:24:47 +08001From 25b1c0f5e4f674ea2b72949bce83c05204d19653 Mon Sep 17 00:00:00 2001
developerdfb50982023-09-11 13:34:36 +08002From: Michael-CY Lee <michael-cy.lee@mediatek.com>
developer36fe7092023-09-27 12:24:47 +08003Date: Thu, 24 Aug 2023 16:44:30 +0800
developerdfb50982023-09-11 13:34:36 +08004Subject: [PATCH] hostapd: mtk: synchronize bandwidth in AP/STA support
5
6Signed-off-by: Michael Lee <michael-cy.lee@mediatek.com>
7---
developer36fe7092023-09-27 12:24:47 +08008 src/utils/ucode.c | 1 +
9 wpa_supplicant/ucode.c | 10 ++++++++++
10 2 files changed, 11 insertions(+)
developerdfb50982023-09-11 13:34:36 +080011
12diff --git a/src/utils/ucode.c b/src/utils/ucode.c
developer36fe7092023-09-27 12:24:47 +080013index 44169f0..41c19fb 100644
developerdfb50982023-09-11 13:34:36 +080014--- a/src/utils/ucode.c
15+++ b/src/utils/ucode.c
developer36fe7092023-09-27 12:24:47 +080016@@ -115,6 +115,7 @@ uc_value_t *uc_wpa_freq_info(uc_vm_t *vm, size_t nargs)
developerdfb50982023-09-11 13:34:36 +080017 ucv_object_add(ret, "hw_mode_str", ucv_get(ucv_string_new(modestr)));
18 ucv_object_add(ret, "sec_channel", ucv_int64_new(sec_channel));
19 ucv_object_add(ret, "frequency", ucv_int64_new(freq_val));
20+ ucv_object_add(ret, "oper_chwidth", ucv_int64_new(chanwidth));
21
developer36fe7092023-09-27 12:24:47 +080022 if (!sec_channel)
developerdfb50982023-09-11 13:34:36 +080023 return ret;
24diff --git a/wpa_supplicant/ucode.c b/wpa_supplicant/ucode.c
developer36fe7092023-09-27 12:24:47 +080025index d0a78d1..dbf57fa 100644
developerdfb50982023-09-11 13:34:36 +080026--- a/wpa_supplicant/ucode.c
27+++ b/wpa_supplicant/ucode.c
developer36fe7092023-09-27 12:24:47 +080028@@ -6,6 +6,7 @@
developerdfb50982023-09-11 13:34:36 +080029 #include "wps_supplicant.h"
30 #include "bss.h"
31 #include "ucode.h"
32+#include "driver_i.h"
33
34 static struct wpa_global *wpa_global;
35 static uc_resource_type_t *global_type, *iface_type;
developer36fe7092023-09-27 12:24:47 +080036@@ -194,6 +195,9 @@ uc_wpas_iface_status(uc_vm_t *vm, size_t nargs)
developerdfb50982023-09-11 13:34:36 +080037 struct wpa_supplicant *wpa_s = uc_fn_thisval("wpas.iface");
38 struct wpa_bss *bss;
39 uc_value_t *ret, *val;
40+ struct wpa_channel_info ci;
41+ u8 op_class, channel;
42+ enum oper_chan_width ch_width;
43
44 if (!wpa_s)
45 return NULL;
developer36fe7092023-09-27 12:24:47 +080046@@ -222,6 +226,12 @@ uc_wpas_iface_status(uc_vm_t *vm, size_t nargs)
developer95671ae2023-09-25 14:16:05 +080047
48 ucv_object_add(ret, "sec_chan_offset", ucv_int64_new(sec_chan));
49 ucv_object_add(ret, "frequency", ucv_int64_new(bss->freq));
developer36fe7092023-09-27 12:24:47 +080050+
51+ wpa_drv_channel_info(wpa_s, &ci);
52+ ieee80211_chaninfo_to_channel(ci.frequency, ci.chanwidth,
53+ sec_chan, &op_class, &channel);
54+ ch_width = op_class_to_ch_width(op_class);
developerdfb50982023-09-11 13:34:36 +080055+ ucv_object_add(ret, "ch_width", ucv_int64_new(ch_width));
56 }
57
developer36fe7092023-09-27 12:24:47 +080058 return ret;
developerdfb50982023-09-11 13:34:36 +080059--
602.25.1
61