HE: Properly populate Beacon template prior to sending it to the kernel
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>
This commit is contained in:
parent
7cac255632
commit
2fde3caa3a
1 changed files with 9 additions and 1 deletions
|
@ -19,9 +19,10 @@
|
||||||
u8 * hostapd_eid_he_capab(struct hostapd_data *hapd, u8 *eid)
|
u8 * hostapd_eid_he_capab(struct hostapd_data *hapd, u8 *eid)
|
||||||
{
|
{
|
||||||
struct ieee80211_he_capabilities *cap;
|
struct ieee80211_he_capabilities *cap;
|
||||||
|
struct hostapd_hw_modes *mode = hapd->iface->current_mode;
|
||||||
u8 *pos = eid;
|
u8 *pos = eid;
|
||||||
|
|
||||||
if (!hapd->iface->current_mode)
|
if (!mode)
|
||||||
return eid;
|
return eid;
|
||||||
|
|
||||||
*pos++ = WLAN_EID_EXTENSION;
|
*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;
|
cap = (struct ieee80211_he_capabilities *) pos;
|
||||||
os_memset(cap, 0, sizeof(*cap));
|
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)
|
if (hapd->iface->conf->he_phy_capab.he_su_beamformer)
|
||||||
cap->he_phy_capab_info[HE_PHYCAP_SU_BEAMFORMER_CAPAB_IDX] |=
|
cap->he_phy_capab_info[HE_PHYCAP_SU_BEAMFORMER_CAPAB_IDX] |=
|
||||||
HE_PHYCAP_SU_BEAMFORMER_CAPAB;
|
HE_PHYCAP_SU_BEAMFORMER_CAPAB;
|
||||||
|
|
Loading…
Reference in a new issue