From: Sven Eckelmann Date: Wed, 12 Jun 2019 23:10:07 +0000 (+0200) Subject: HE: Fix HE capability check for PPE threshold present X-Git-Tag: hostap_2_9~140 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=29f85561894d4799a902656549a5847e4febabd3;p=thirdparty%2Fhostap.git HE: Fix HE capability check for PPE threshold present The the mask for PPE threshold present in the HE phy capability byte 6 is 0x80 and not 0x6. This incorrect mask breaks the length calculation and as result the acceptance of the HE capabilities for STAs which either: * don't have the PPE threshold present bit set AND the Codebook Size={7,5} MU Feedback or the Triggered SU Beamforming feedback bit set * do have the PPE threshold present set AND neither the Codebook Size={7,5} MU Feedback nor the Triggered SU Beamforming feedback bit set Fixes: 8f5fc369e263 ("HE: Fix HE Capabilities element variable length encoding") Signed-off-by: Sven Eckelmann --- diff --git a/src/ap/ieee802_11_he.c b/src/ap/ieee802_11_he.c index ba22a174a..d3d3c1db3 100644 --- a/src/ap/ieee802_11_he.c +++ b/src/ap/ieee802_11_he.c @@ -23,7 +23,7 @@ static u8 ieee80211_he_ppet_size(u8 ppe_thres_hdr, const u8 *phy_cap_info) u8 sz = 0, ru; if ((phy_cap_info[HE_PHYCAP_PPE_THRESHOLD_PRESENT_IDX] & - HE_PHYCAP_PPE_THRESHOLD_PRESENT_IDX) == 0) + HE_PHYCAP_PPE_THRESHOLD_PRESENT) == 0) return 0; ru = (ppe_thres_hdr >> HE_PPE_THRES_RU_INDEX_BITMASK_SHIFT) &