From 3b44e0a4c102d52a6c81451d1a2fd62d7405cc01 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 2 Sep 2023 19:36:21 +0200 Subject: [PATCH] hostapd: fix parsing HT secondary channel offset It returned the wrong value when using HT40- Signed-off-by: Felix Fietkau --- .../network/services/hostapd/src/wpa_supplicant/ucode.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/package/network/services/hostapd/src/wpa_supplicant/ucode.c b/package/network/services/hostapd/src/wpa_supplicant/ucode.c index d0a78d1625..d120ed6217 100644 --- a/package/network/services/hostapd/src/wpa_supplicant/ucode.c +++ b/package/network/services/hostapd/src/wpa_supplicant/ucode.c @@ -211,12 +211,13 @@ uc_wpas_iface_status(uc_vm_t *vm, size_t nargs) ie = wpa_bss_get_ie(bss, WLAN_EID_HT_OPERATION); if (ie && ie[1] >= 2) { const struct ieee80211_ht_operation *ht_oper; + int sec; ht_oper = (const void *) (ie + 2); - if (ht_oper->ht_param & HT_INFO_HT_PARAM_SECONDARY_CHNL_ABOVE) + sec = ht_oper->ht_param & HT_INFO_HT_PARAM_SECONDARY_CHNL_OFF_MASK; + if (sec == HT_INFO_HT_PARAM_SECONDARY_CHNL_ABOVE) sec_chan = 1; - else if (ht_oper->ht_param & - HT_INFO_HT_PARAM_SECONDARY_CHNL_BELOW) + else if (sec == HT_INFO_HT_PARAM_SECONDARY_CHNL_BELOW) sec_chan = -1; } -- 2.30.2