|
@@ -1932,66 +1932,10 @@ static void mwifiex_setup_vht_caps(struct ieee80211_sta_vht_cap *vht_info,
|
|
|
struct mwifiex_private *priv)
|
|
|
{
|
|
|
struct mwifiex_adapter *adapter = priv->adapter;
|
|
|
- u32 vht_cap = 0, cap = adapter->hw_dot_11ac_dev_cap;
|
|
|
|
|
|
vht_info->vht_supported = true;
|
|
|
|
|
|
- switch (GET_VHTCAP_MAXMPDULEN(cap)) {
|
|
|
- case 0x00:
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_3895;
|
|
|
- break;
|
|
|
- case 0x01:
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991;
|
|
|
- break;
|
|
|
- case 0x10:
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454;
|
|
|
- break;
|
|
|
- default:
|
|
|
- dev_err(adapter->dev, "unsupported MAX MPDU len\n");
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- if (ISSUPP_11ACVHTHTCVHT(cap))
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_HTC_VHT;
|
|
|
-
|
|
|
- if (ISSUPP_11ACVHTTXOPPS(cap))
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_VHT_TXOP_PS;
|
|
|
-
|
|
|
- if (ISSUPP_11ACMURXBEAMFORMEE(cap))
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE;
|
|
|
-
|
|
|
- if (ISSUPP_11ACMUTXBEAMFORMEE(cap))
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE;
|
|
|
-
|
|
|
- if (ISSUPP_11ACSUBEAMFORMER(cap))
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE;
|
|
|
-
|
|
|
- if (ISSUPP_11ACSUBEAMFORMEE(cap))
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE;
|
|
|
-
|
|
|
- if (ISSUPP_11ACRXSTBC(cap))
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_RXSTBC_1;
|
|
|
-
|
|
|
- if (ISSUPP_11ACTXSTBC(cap))
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_TXSTBC;
|
|
|
-
|
|
|
- if (ISSUPP_11ACSGI160(cap))
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_SHORT_GI_160;
|
|
|
-
|
|
|
- if (ISSUPP_11ACSGI80(cap))
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_SHORT_GI_80;
|
|
|
-
|
|
|
- if (ISSUPP_11ACLDPC(cap))
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_RXLDPC;
|
|
|
-
|
|
|
- if (ISSUPP_11ACBW8080(cap))
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ;
|
|
|
-
|
|
|
- if (ISSUPP_11ACBW160(cap))
|
|
|
- vht_cap |= IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ;
|
|
|
-
|
|
|
- vht_info->cap = vht_cap;
|
|
|
-
|
|
|
+ vht_info->cap = adapter->hw_dot_11ac_dev_cap;
|
|
|
/* Update MCS support for VHT */
|
|
|
vht_info->vht_mcs.rx_mcs_map = cpu_to_le16(
|
|
|
adapter->hw_dot_11ac_mcs_support & 0xFFFF);
|