qcacld-3.0: Fix nan disable issue on NAN+SAP concurrency

Fix the issue of NAN getting disabled in NAN+SAP concurrency
when SAP and NAN operate in different bands and host processes
LTE coex event for unsafe channel update.

Change-Id: I4f2d63a5283bd75712aa3bd9a3b3f278a28b0951
CRs-fixed: 2486595
This commit is contained in:
Manikandan Mohan 2019-07-11 18:41:16 -07:00 • committed by nshrivas
commit 8776db5b50
2 changed files with 11 additions and 2 deletions

View file

@ -1407,6 +1407,8 @@ bool policy_mgr_nan_sap_scc_on_unsafe_ch_chk(struct wlan_objmgr_psoc *psoc,
}
nan_ch_5g = wlan_nan_get_disc_5g_ch(psoc);
policy_mgr_debug("SAP Ch: %d NAN Ch: %d %d", sap_ch,
nan_ch_2g, nan_ch_5g);
if (WLAN_REG_IS_SAME_BAND_CHANNELS(nan_ch_2g, sap_ch)) {
if (policy_mgr_is_force_scc(pm_ctx->psoc) &&
policy_mgr_is_nan_sap_unsafe_ch_scc_allowed(pm_ctx,
@ -1417,8 +1419,14 @@ bool policy_mgr_nan_sap_scc_on_unsafe_ch_chk(struct wlan_objmgr_psoc *psoc,
policy_mgr_is_nan_sap_unsafe_ch_scc_allowed(pm_ctx,
nan_ch_5g))
return true;
} else {
/*
* NAN + SAP in different bands. Continue to check for
* SAP in unsafe channel
*/
return false;
}
policy_mgr_debug("NAN+SAP unsafe ch SCC not allowed. Disabling NAN");
policy_mgr_info("NAN+SAP unsafe ch SCC not allowed. Disabling NAN");
/* change context to worker since this is executed in sched thread ctx*/
qdf_create_work(0, &pm_ctx->nan_sap_conc_work,
policy_mgr_nan_disable_work, psoc);

View file

@ -2676,7 +2676,8 @@ static int os_if_process_nan_enable_req(struct wlan_objmgr_psoc *psoc,
nla_memcpy(nan_req->params.request_data,
tb[QCA_WLAN_VENDOR_ATTR_NAN_CMD_DATA], buf_len);
osif_debug("Sending NAN Enable Req");
osif_debug("Sending NAN Enable Req. NAN Ch: %d %d",
nan_req->social_chan_2g, nan_req->social_chan_5g);
status = ucfg_nan_discovery_req(nan_req, NAN_ENABLE_REQ);
if (QDF_IS_STATUS_SUCCESS(status))