mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-15 01:01:56 -04:00
qcacld-3.0: Avoid unnecessary AP Start evt
Event WLAN_IF_MGR_EV_AP_START_BSS delivery will trigger roam disable/ enable. That will involve lots of wmi command to set roaming parameters to firmware. When the AP is "started" state, the wlan_hdd_cfg80211_start_bss will be called to update AP (GO) IE and wlansap_start_bss will be skipped. In this case, we don't need to deliver WLAN_IF_MGR_EV_AP_START_BSS event. Change-Id: I801fd7a5eaf7b97b2c74930c9e4088db83c86a09 CRs-Fixed: 2847224
This commit is contained in:
parent
efa29f514c
commit
2c9648d470
1 changed files with 22 additions and 12 deletions
|
|
@ -5141,6 +5141,7 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter,
|
|||
bool go_force_11n_for_11ac = 0;
|
||||
bool bval = false;
|
||||
bool enable_dfs_scan = true;
|
||||
bool deliver_start_evt = true;
|
||||
struct s_ext_cap *p_ext_cap;
|
||||
enum reg_phymode reg_phy_mode, updated_phy_mode;
|
||||
|
||||
|
|
@ -5170,12 +5171,18 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter,
|
|||
* module is enabled.
|
||||
*/
|
||||
#ifdef WLAN_FEATURE_INTERFACE_MGR
|
||||
status = ucfg_if_mgr_deliver_event(adapter->vdev,
|
||||
WLAN_IF_MGR_EV_AP_START_BSS,
|
||||
NULL);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("start bss failed!!");
|
||||
return -EINVAL;
|
||||
if (test_bit(SOFTAP_BSS_STARTED, &adapter->event_flags))
|
||||
deliver_start_evt = false;
|
||||
|
||||
if (deliver_start_evt) {
|
||||
status = ucfg_if_mgr_deliver_event(
|
||||
adapter->vdev,
|
||||
WLAN_IF_MGR_EV_AP_START_BSS,
|
||||
NULL);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("start bss failed!!");
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
#else
|
||||
if (policy_mgr_is_hw_mode_change_in_progress(hdd_ctx->psoc)) {
|
||||
|
|
@ -5875,12 +5882,15 @@ free:
|
|||
* module is enabled.
|
||||
*/
|
||||
#ifdef WLAN_FEATURE_INTERFACE_MGR
|
||||
status = ucfg_if_mgr_deliver_event(adapter->vdev,
|
||||
WLAN_IF_MGR_EV_AP_START_BSS_COMPLETE,
|
||||
NULL);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("start bss complete failed!!");
|
||||
ret = -EINVAL;
|
||||
if (deliver_start_evt) {
|
||||
status = ucfg_if_mgr_deliver_event(
|
||||
adapter->vdev,
|
||||
WLAN_IF_MGR_EV_AP_START_BSS_COMPLETE,
|
||||
NULL);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("start bss complete failed!!");
|
||||
ret = -EINVAL;
|
||||
}
|
||||
}
|
||||
#else
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in a new issue