diff options
| author | bings <bings@codeaurora.org> | 2016-12-26 17:28:57 +0800 |
|---|---|---|
| committer | Ashish kumar goswami <agoswa@codeaurora.org> | 2017-01-04 15:50:07 +0530 |
| commit | ffbb3cd77c790e797d14cfbabfaae8ddb6153a55 (patch) | |
| tree | 64cf3c9a85e56b1123dc8ac72923001b059ced6f | |
| parent | 75e1e00d6b3cd4cb89fd5314a60c333aa0b03230 (diff) | |
qcacld-2.0: Do not set ACS flag if no ACS to be done
wlan_hdd_cfg80211_change_iface will abort if ACS_IN_PROGRESS
is set, which causes iface type mismatch between hostapd and
driver.
When force SCC if same band is enabled, driver will not do ACS
for the second AP. So do not set ACS_IN_PROGRESS if no ACS to
be done.
Change-Id: I2c975c89dc1cf0d11980ad11c8d0d256c680594d
CRs-Fixed: 1105386
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg80211.c | 3 | ||||
| -rw-r--r-- | CORE/SAP/inc/sapApi.h | 9 | ||||
| -rw-r--r-- | CORE/SAP/src/sapModule.c | 20 |
3 files changed, 32 insertions, 0 deletions
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c index 7a42199f7f3b..1ad4ef2396fc 100644 --- a/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -8948,6 +8948,9 @@ static int wlan_hdd_cfg80211_start_acs(hdd_adapter_t *adapter) return -EINVAL; } sap_config->acs_cfg.acs_mode = true; +#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH + if (is_auto_channel_select(WLAN_HDD_GET_SAP_CTX_PTR(adapter))) +#endif set_bit(ACS_IN_PROGRESS, &hdd_ctx->g_event_flags); return 0; diff --git a/CORE/SAP/inc/sapApi.h b/CORE/SAP/inc/sapApi.h index 9993edf1bc60..04b62e13b177 100644 --- a/CORE/SAP/inc/sapApi.h +++ b/CORE/SAP/inc/sapApi.h @@ -854,6 +854,15 @@ void sapCleanupChannelList(v_PVOID_t sapContext); void sapCleanupAllChannelList(void); +#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH +/** + * is_auto_channel_select() - is channel AUTO_CHANNEL_SELECT + * @p_vos_gctx: Pointer to ptSapContext + * + * Return: true on AUTO_CHANNEL_SELECT, false otherwise + */ +bool is_auto_channel_select(v_PVOID_t p_vos_gctx); +#endif /*========================================================================== FUNCTION WLANSAP_Set_WpsIe diff --git a/CORE/SAP/src/sapModule.c b/CORE/SAP/src/sapModule.c index 607d7e08e395..84484f0bc8c8 100644 --- a/CORE/SAP/src/sapModule.c +++ b/CORE/SAP/src/sapModule.c @@ -3856,6 +3856,26 @@ void WLANSAP_PopulateDelStaParams(const v_U8_t *mac, MAC_ADDR_ARRAY(pDelStaParams->peerMacAddr)); } +#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH +/** + * is_auto_channel_select() - is channel AUTO_CHANNEL_SELECT + * @p_vos_gctx: Pointer to ptSapContext + * + * Return: true on AUTO_CHANNEL_SELECT, false otherwise + */ +bool is_auto_channel_select(v_PVOID_t p_vos_gctx) +{ + ptSapContext sapcontext = VOS_GET_SAP_CB(p_vos_gctx); + + if (NULL == sapcontext) { + VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_ERROR, + "%s: Invalid SAP pointer", __func__); + return 0; + } + return sapcontext->channel == AUTO_CHANNEL_SELECT; +} +#endif + /*========================================================================== FUNCTION WLANSAP_ACS_CHSelect |
