hostapd settings should overwrite cfg settings
With default dot11Mode(=0) in cfg.ini, hostapd setting for 802.11b or 802.11g or 802.11a were over written to 802.11ac.
CRs-fixed: 435911, 412438
Change-Id: Ic6a5df7d4dc6ed8c045c4b7c53e7e6cc68717dbb
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index da4fd77..913242b 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -1641,9 +1641,14 @@
wlan_hdd_set_sapHwmode(pHostapdAdapter);
#ifdef WLAN_FEATURE_11AC
- if(((WLAN_HDD_GET_CTX(pHostapdAdapter))->cfg_ini->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
- ((WLAN_HDD_GET_CTX(pHostapdAdapter))->cfg_ini->dot11Mode == eHDD_DOT11_MODE_11ac) ||
- ((WLAN_HDD_GET_CTX(pHostapdAdapter))->cfg_ini->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY) )
+ /* Overwrite the hostapd setting for HW mode only for 11ac.
+ * This is valid only if mode is set to 11n in hostapd and either AUTO or 11ac in .ini .
+ * Otherwise, leave whatever is set in hostapd (a OR b OR g OR n mode) */
+ if( ((pConfig->SapHw_mode == eSAP_DOT11_MODE_11n) ||
+ (pConfig->SapHw_mode == eSAP_DOT11_MODE_11n_ONLY)) &&
+ (((WLAN_HDD_GET_CTX(pHostapdAdapter))->cfg_ini->dot11Mode == eHDD_DOT11_MODE_AUTO) ||
+ ((WLAN_HDD_GET_CTX(pHostapdAdapter))->cfg_ini->dot11Mode == eHDD_DOT11_MODE_11ac) ||
+ ((WLAN_HDD_GET_CTX(pHostapdAdapter))->cfg_ini->dot11Mode == eHDD_DOT11_MODE_11ac_ONLY)) )
{
pConfig->SapHw_mode = eSAP_DOT11_MODE_11ac;
}