| From 25b1c0f5e4f674ea2b72949bce83c05204d19653 Mon Sep 17 00:00:00 2001 |
| From: Michael-CY Lee <michael-cy.lee@mediatek.com> |
| Date: Thu, 24 Aug 2023 16:44:30 +0800 |
| Subject: [PATCH] hostapd: mtk: synchronize bandwidth in AP/STA support |
| |
| Signed-off-by: Michael Lee <michael-cy.lee@mediatek.com> |
| --- |
| src/utils/ucode.c | 1 + |
| wpa_supplicant/ucode.c | 10 ++++++++++ |
| 2 files changed, 11 insertions(+) |
| |
| diff --git a/src/utils/ucode.c b/src/utils/ucode.c |
| index 44169f0..41c19fb 100644 |
| --- a/src/utils/ucode.c |
| +++ b/src/utils/ucode.c |
| @@ -115,6 +115,7 @@ uc_value_t *uc_wpa_freq_info(uc_vm_t *vm, size_t nargs) |
| ucv_object_add(ret, "hw_mode_str", ucv_get(ucv_string_new(modestr))); |
| ucv_object_add(ret, "sec_channel", ucv_int64_new(sec_channel)); |
| ucv_object_add(ret, "frequency", ucv_int64_new(freq_val)); |
| + ucv_object_add(ret, "oper_chwidth", ucv_int64_new(chanwidth)); |
| |
| if (!sec_channel) |
| return ret; |
| diff --git a/wpa_supplicant/ucode.c b/wpa_supplicant/ucode.c |
| index d0a78d1..dbf57fa 100644 |
| --- a/wpa_supplicant/ucode.c |
| +++ b/wpa_supplicant/ucode.c |
| @@ -6,6 +6,7 @@ |
| #include "wps_supplicant.h" |
| #include "bss.h" |
| #include "ucode.h" |
| +#include "driver_i.h" |
| |
| static struct wpa_global *wpa_global; |
| static uc_resource_type_t *global_type, *iface_type; |
| @@ -194,6 +195,9 @@ uc_wpas_iface_status(uc_vm_t *vm, size_t nargs) |
| struct wpa_supplicant *wpa_s = uc_fn_thisval("wpas.iface"); |
| struct wpa_bss *bss; |
| uc_value_t *ret, *val; |
| + struct wpa_channel_info ci; |
| + u8 op_class, channel; |
| + enum oper_chan_width ch_width; |
| |
| if (!wpa_s) |
| return NULL; |
| @@ -222,6 +226,12 @@ uc_wpas_iface_status(uc_vm_t *vm, size_t nargs) |
| |
| ucv_object_add(ret, "sec_chan_offset", ucv_int64_new(sec_chan)); |
| ucv_object_add(ret, "frequency", ucv_int64_new(bss->freq)); |
| + |
| + wpa_drv_channel_info(wpa_s, &ci); |
| + ieee80211_chaninfo_to_channel(ci.frequency, ci.chanwidth, |
| + sec_chan, &op_class, &channel); |
| + ch_width = op_class_to_ch_width(op_class); |
| + ucv_object_add(ret, "ch_width", ucv_int64_new(ch_width)); |
| } |
| |
| return ret; |
| -- |
| 2.25.1 |
| |