wlan: Fix for SAP not operating in VHT mode
Updated the 11N fallback condition for the following case.
If (ACS disable and selected channel < 14 or ACS enabled
and ACS operating band is choosen as 2.4) AND if VHT in
2.4G is disabled: Then only fallback to 11N mode.
Change-Id: Ica5393255046a21978118940df36e25a2f48cd73
Crs-Fixed: 659660
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index a301169..aed08c9 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -1908,6 +1908,7 @@
v_CONTEXT_t pVosContext = (WLAN_HDD_GET_CTX(pHostapdAdapter))->pvosContext;
tHalHandle hHal = WLAN_HDD_GET_HAL_CTX(pHostapdAdapter);
struct qc_mac_acl_entry *acl_entry = NULL;
+ hdd_config_t *iniConfig;
v_SINT_t i;
hdd_context_t *pHddCtx = WLAN_HDD_GET_CTX(pHostapdAdapter);
v_BOOL_t MFPCapable;
@@ -1917,6 +1918,8 @@
ENTER();
+ iniConfig = pHddCtx->cfg_ini;
+
pHostapdState = WLAN_HDD_GET_HOSTAP_STATE_PTR(pHostapdAdapter);
pConfig = &pHostapdAdapter->sessionCtx.ap.sapConfig;
@@ -2216,9 +2219,18 @@
{
pConfig->SapHw_mode = eSAP_DOT11_MODE_11ac;
- /* Disable VHT support in 2.4 GHz and */
- if (pConfig->channel <= 14 &&
- (WLAN_HDD_GET_CTX(pHostapdAdapter))->cfg_ini->enableVhtFor24GHzBand == FALSE)
+ /* If ACS disable and selected channel <= 14
+ * OR
+ * ACS enabled and ACS operating band is choosen as 2.4
+ * AND
+ * VHT in 2.4G Disabled
+ * THEN
+ * Fallback to 11N mode
+ */
+ if (((AUTO_CHANNEL_SELECT != pConfig->channel && pConfig->channel <= SIR_11B_CHANNEL_END)
+ || (AUTO_CHANNEL_SELECT == pConfig->channel &&
+ iniConfig->apOperatingBand == RF_SUBBAND_2_4_GHZ)) &&
+ iniConfig->enableVhtFor24GHzBand == FALSE)
{
pConfig->SapHw_mode = eSAP_DOT11_MODE_11n;
}