A EHT STA and/or a 6 GHz capable STA is a HE STA. If a STA has an
invalid HE capabilities, the HE capability of the STA is deactivated but
the EHT/6 GHz capability is still activated and their elements copied.
Deactivate the EHT/6 GHz capability of a STA if it is not a HE STA.
Signed-off-by: Pablo Martin-Gomez <pmartin-gomez@freebox.fr>
ieee80211_invalid_eht_cap_size(mode, hapd->iconf->op_class,
he_capab, eht_capab,
eht_capab_len) ||
- !check_valid_eht_mcs(hapd, eht_capab, opmode)) {
+ !check_valid_eht_mcs(hapd, eht_capab, opmode) ||
+ !(sta->flags & WLAN_STA_HE)) {
sta->flags &= ~WLAN_STA_EHT;
os_free(sta->eht_capab);
sta->eht_capab = NULL;
{
if (!he_6ghz_capab || !hapd->iconf->ieee80211ax ||
hapd->conf->disable_11ax ||
- !is_6ghz_op_class(hapd->iconf->op_class)) {
+ !is_6ghz_op_class(hapd->iconf->op_class) ||
+ !(sta->flags & WLAN_STA_HE)) {
sta->flags &= ~WLAN_STA_6GHZ;
os_free(sta->he_6ghz_capab);
sta->he_6ghz_capab = NULL;