From 846e8396aba815a30e68ed6707c7dbbecf8730da Mon Sep 17 00:00:00 2001 From: John Crispin Date: Mon, 20 May 2019 09:55:11 +0200 Subject: [PATCH] HE: Mask out the beamforming capabilities if they are not configured These bits might be set by the capabilities read from the kernel, so mask them out if beamforming is not enabled in the local configuration. Signed-off-by: Shashidhar Lakkavalli Signed-off-by: John Crispin --- src/ap/ieee802_11_he.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/ap/ieee802_11_he.c b/src/ap/ieee802_11_he.c index d7b2fb7af..168a20d16 100644 --- a/src/ap/ieee802_11_he.c +++ b/src/ap/ieee802_11_he.c @@ -42,14 +42,23 @@ u8 * hostapd_eid_he_capab(struct hostapd_data *hapd, u8 *eid) 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; + else + cap->he_phy_capab_info[HE_PHYCAP_SU_BEAMFORMER_CAPAB_IDX] &= + ~HE_PHYCAP_SU_BEAMFORMER_CAPAB; if (hapd->iface->conf->he_phy_capab.he_su_beamformee) cap->he_phy_capab_info[HE_PHYCAP_SU_BEAMFORMEE_CAPAB_IDX] |= HE_PHYCAP_SU_BEAMFORMEE_CAPAB; + else + cap->he_phy_capab_info[HE_PHYCAP_SU_BEAMFORMEE_CAPAB_IDX] &= + ~HE_PHYCAP_SU_BEAMFORMEE_CAPAB; if (hapd->iface->conf->he_phy_capab.he_mu_beamformer) cap->he_phy_capab_info[HE_PHYCAP_MU_BEAMFORMER_CAPAB_IDX] |= HE_PHYCAP_MU_BEAMFORMER_CAPAB; + else + cap->he_phy_capab_info[HE_PHYCAP_MU_BEAMFORMER_CAPAB_IDX] &= + ~HE_PHYCAP_MU_BEAMFORMER_CAPAB; pos += sizeof(*cap);