From 0a488771cd0633d4f736f3712e05c8e943a38a10 Mon Sep 17 00:00:00 2001 From: Mahesh Kumar Kalikot Veetil Date: Wed, 27 Sep 2017 16:06:21 -0700 Subject: qcacld-3.0: Allow BSS start during STA connection SoftAP start fails during station connection is in progress and the flag update_beacon is not set. Also allow beacon/probe resp update in the middle of p2p connection. Change-Id: I13d89b6b8b51f999ff317d1f55dc3fcf48bdd422 CRs-Fixed: 2108186 --- core/hdd/inc/wlan_hdd_main.h | 3 +-- core/hdd/src/wlan_hdd_cfg80211.c | 2 +- core/hdd/src/wlan_hdd_hostapd.c | 12 +++--------- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h index 9f9ccdf57c7e..a06acc6047f9 100644 --- a/core/hdd/inc/wlan_hdd_main.h +++ b/core/hdd/inc/wlan_hdd_main.h @@ -2381,8 +2381,7 @@ int wlan_hdd_cfg80211_start_bss(hdd_adapter_t *pHostapdAdapter, struct cfg80211_beacon_data *params, const u8 *ssid, size_t ssid_len, enum nl80211_hidden_ssid hidden_ssid, - bool check_for_concurrency, - bool update_beacon); + bool check_for_concurrency); #ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH QDF_STATUS hdd_register_for_sap_restart_with_channel_switch(void); #else diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 73ec969cdb47..81cd8d938dd7 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -8559,7 +8559,7 @@ int wlan_hdd_request_pre_cac(uint8_t channel) status = wlan_hdd_cfg80211_start_bss(pre_cac_adapter, NULL, PRE_CAC_SSID, qdf_str_len(PRE_CAC_SSID), - NL80211_HIDDEN_SSID_NOT_IN_USE, false, false); + NL80211_HIDDEN_SSID_NOT_IN_USE, false); if (QDF_IS_STATUS_ERROR(status)) { hdd_err("start bss failed"); goto stop_close_pre_cac_adapter; diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index 0bd1376cde3c..8c1fa6bbaa1b 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/core/hdd/src/wlan_hdd_hostapd.c @@ -7685,8 +7685,7 @@ int wlan_hdd_cfg80211_start_bss(hdd_adapter_t *pHostapdAdapter, struct cfg80211_beacon_data *params, const u8 *ssid, size_t ssid_len, enum nl80211_hidden_ssid hidden_ssid, - bool check_for_concurrency, - bool update_beacon) + bool check_for_concurrency) { tsap_Config_t *pConfig; beacon_data_t *pBeacon = NULL; @@ -7714,11 +7713,6 @@ int wlan_hdd_cfg80211_start_bss(hdd_adapter_t *pHostapdAdapter, ENTER(); - if (!update_beacon && cds_is_connection_in_progress(NULL, NULL)) { - hdd_err("Can't start BSS: connection is in progress"); - return -EINVAL; - } - disable_fw_tdls_state = true; wlan_hdd_check_conc_and_update_tdls_state(pHddCtx, disable_fw_tdls_state); @@ -8870,7 +8864,7 @@ static int __wlan_hdd_cfg80211_start_ap(struct wiphy *wiphy, wlan_hdd_cfg80211_start_bss(pAdapter, ¶ms->beacon, params->ssid, params->ssid_len, - params->hidden_ssid, true, false); + params->hidden_ssid, true); if (status != 0) { hdd_err("Error Start bss Failed"); @@ -8997,7 +8991,7 @@ static int __wlan_hdd_cfg80211_change_beacon(struct wiphy *wiphy, pAdapter->sessionCtx.ap.beacon = new; hdd_debug("update beacon for P2P GO/SAP"); status = wlan_hdd_cfg80211_start_bss(pAdapter, params, NULL, - 0, 0, false, true); + 0, 0, false); EXIT(); return status; -- cgit v1.2.3