From c637fc91d7144adfa7d583e5cd7d48d576ff1e87 Mon Sep 17 00:00:00 2001 From: Mahesh Kumar Kalikot Veetil Date: Wed, 27 Sep 2017 16:06:21 -0700 Subject: [PATCH] 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 | 11 +++-------- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h index 34f49abdec73..fd16ce60e998 100644 --- a/core/hdd/inc/wlan_hdd_main.h +++ b/core/hdd/inc/wlan_hdd_main.h @@ -2325,8 +2325,7 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter, 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); #if !defined(REMOVE_PKT_LOG) int hdd_process_pktlog_command(struct hdd_context *hdd_ctx, uint32_t set_value, diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 54c651729bd4..5f55d71657f1 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -9280,7 +9280,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 b2c52f0ab0e7..e211ce5a0754 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/core/hdd/src/wlan_hdd_hostapd.c @@ -7405,8 +7405,7 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter, 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; struct hdd_beacon_data *pBeacon = NULL; @@ -7433,10 +7432,6 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter, ENTER(); - if (!update_beacon && hdd_is_connection_in_progress(NULL, NULL)) { - hdd_err("Can't start BSS: connection is in progress"); - return -EINVAL; - } hdd_notify_teardown_tdls_links(adapter->hdd_vdev); @@ -8589,7 +8584,7 @@ static int __wlan_hdd_cfg80211_start_ap(struct wiphy *wiphy, wlan_hdd_cfg80211_start_bss(adapter, ¶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"); @@ -8719,7 +8714,7 @@ static int __wlan_hdd_cfg80211_change_beacon(struct wiphy *wiphy, adapter->sessionCtx.ap.beacon = new; hdd_debug("update beacon for P2P GO/SAP"); status = wlan_hdd_cfg80211_start_bss(adapter, params, NULL, - 0, 0, false, true); + 0, 0, false); EXIT(); return status;