wifi: iwlwifi: disable RX STBC when a device doesn't support it
Some devices, like step A0 of GL FM device doesn't support RX STBC for VHT/HE. Add a workaround to remove it from capabilities in this case. Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Link: https://lore.kernel.org/r/20230524203151.65c3e09813e5.Iadfd8cdb0ea5a8088ae3daa555c780c423951894@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
58e6827689
commit
dbb6f2307b
@ -464,6 +464,9 @@ static void iwl_init_vht_hw_capab(struct iwl_trans *trans,
|
||||
IEEE80211_VHT_MAX_AMPDU_1024K <<
|
||||
IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT;
|
||||
|
||||
if (!trans->cfg->ht_params->stbc)
|
||||
vht_cap->cap &= ~IEEE80211_VHT_CAP_RXSTBC_MASK;
|
||||
|
||||
if (data->vht160_supported)
|
||||
vht_cap->cap |= IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ |
|
||||
IEEE80211_VHT_CAP_SHORT_GI_160;
|
||||
@ -986,6 +989,13 @@ iwl_nvm_fixup_sband_iftd(struct iwl_trans *trans,
|
||||
iftype_data->vendor_elems.data = iwl_vendor_caps;
|
||||
iftype_data->vendor_elems.len = ARRAY_SIZE(iwl_vendor_caps);
|
||||
}
|
||||
|
||||
if (!trans->cfg->ht_params->stbc) {
|
||||
iftype_data->he_cap.he_cap_elem.phy_cap_info[2] &=
|
||||
~IEEE80211_HE_PHY_CAP2_STBC_RX_UNDER_80MHZ;
|
||||
iftype_data->he_cap.he_cap_elem.phy_cap_info[7] &=
|
||||
~IEEE80211_HE_PHY_CAP7_STBC_RX_ABOVE_80MHZ;
|
||||
}
|
||||
}
|
||||
|
||||
static void iwl_init_he_hw_capab(struct iwl_trans *trans,
|
||||
|
Loading…
x
Reference in New Issue
Block a user