diff options
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg80211.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c index e8af56d017e2..c0cb32393105 100644 --- a/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -12196,6 +12196,11 @@ void wlan_hdd_cfg80211_deinit(struct wiphy *wiphy) void wlan_hdd_update_wiphy(struct wiphy *wiphy, hdd_context_t *ctx) { + uint32_t val32; + uint16_t val16; + tSirMacHTCapabilityInfo *ht_cap_info; + eHalStatus status; + wiphy->max_ap_assoc_sta = ctx->max_peers; if (!sme_IsFeatureSupportedByFW(DOT11AC)) { wiphy->bands[IEEE80211_BAND_2GHZ]->vht_cap.vht_supported = 0; @@ -12203,6 +12208,23 @@ void wlan_hdd_update_wiphy(struct wiphy *wiphy, wiphy->bands[IEEE80211_BAND_5GHZ]->vht_cap.vht_supported = 0; wiphy->bands[IEEE80211_BAND_5GHZ]->vht_cap.cap = 0; } + + status = ccmCfgGetInt(ctx->hHal, WNI_CFG_HT_CAP_INFO, &val32); + if (eHAL_STATUS_SUCCESS != status) { + hddLog(VOS_TRACE_LEVEL_ERROR, + "%s: could not get HT capability info", + __func__); + val32 = 0; + } + val16 = (uint16_t)val32; + ht_cap_info = (tSirMacHTCapabilityInfo *)&val16; + + if (ht_cap_info->txSTBC == TRUE) { + wiphy->bands[IEEE80211_BAND_2GHZ]->ht_cap.cap |= + IEEE80211_HT_CAP_TX_STBC; + wiphy->bands[IEEE80211_BAND_5GHZ]->ht_cap.cap |= + IEEE80211_HT_CAP_TX_STBC; + } } /* In this function we are registering wiphy. */ |
