]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
HE: Properly populate Beacon template prior to sending it to the kernel
authorJohn Crispin <john@phrozen.org>
Tue, 16 Apr 2019 12:34:00 +0000 (14:34 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 25 Apr 2019 09:00:51 +0000 (12:00 +0300)
Properly populate the the HE Capabilities element with the info read
from the kernel.

Signed-off-by: Shashidhar Lakkavalli <slakkavalli@datto.com>
Signed-off-by: John Crispin <john@phrozen.org>
src/ap/ieee802_11_he.c

index 09ba6f231e9637a093f5459083abca6f65f92822..10e5ac51742b40a2cffce90a727fb9f38c83fe12 100644 (file)
 u8 * hostapd_eid_he_capab(struct hostapd_data *hapd, u8 *eid)
 {
        struct ieee80211_he_capabilities *cap;
+       struct hostapd_hw_modes *mode = hapd->iface->current_mode;
        u8 *pos = eid;
 
-       if (!hapd->iface->current_mode)
+       if (!mode)
                return eid;
 
        *pos++ = WLAN_EID_EXTENSION;
@@ -31,6 +32,13 @@ u8 * hostapd_eid_he_capab(struct hostapd_data *hapd, u8 *eid)
        cap = (struct ieee80211_he_capabilities *) pos;
        os_memset(cap, 0, sizeof(*cap));
 
+       os_memcpy(cap->he_mac_capab_info, mode->he_capab.mac_cap,
+                 HE_MAX_MAC_CAPAB_SIZE);
+       os_memcpy(cap->he_phy_capab_info, mode->he_capab.phy_cap,
+                 HE_MAX_PHY_CAPAB_SIZE);
+       os_memcpy(cap->he_txrx_mcs_support, mode->he_capab.mcs,
+                 HE_MAX_MCS_CAPAB_SIZE);
+
        if (hapd->iface->conf->he_phy_capab.he_su_beamformer)
                cap->he_phy_capab_info[HE_PHYCAP_SU_BEAMFORMER_CAPAB_IDX] |=
                        HE_PHYCAP_SU_BEAMFORMER_CAPAB;