qcacld-3.0: Handle SAP+NAN concurrency when NAN_DBS isn't supported

When nan_sap and nan_disable are supported but nan_dbs is not
supported,
1. Allow SAP+NAN concurrency if force SCC is supported
2. Disable NAN if SAP comes up on a different band and force SCC is
   not supported
3. Reject NAN enable if SAP is already on a different band and force SCC is
   not supported

Change-Id: Ic53eedcda2e5b314f9be2a4bd913d5e63f6613a2
CRs-Fixed: 2729986
This commit is contained in:
Srinivas Dasari 2020-05-30 23:58:15 +05:30 • committed by nshrivas
commit 8e493f081d
4 changed files with 46 additions and 23 deletions

View file

@ -1146,7 +1146,9 @@ QDF_STATUS nan_discovery_pre_enable(struct wlan_objmgr_psoc *psoc,
goto pre_enable_failure;
}
if (!policy_mgr_nan_sap_pre_enable_conc_check(psoc, PM_NAN_DISC_MODE,
if (policy_mgr_mode_specific_connection_count(psoc, PM_SAP_MODE,
NULL) &&
!policy_mgr_nan_sap_pre_enable_conc_check(psoc, PM_NAN_DISC_MODE,
nan_ch_freq)) {
nan_debug("NAN not enabled due to concurrency constraints");
status = QDF_STATUS_E_INVAL;
@ -1386,6 +1388,5 @@ bool wlan_nan_get_sap_conc_support(struct wlan_objmgr_psoc *psoc)
}
return (psoc_nan_obj->nan_caps.nan_sap_supported &&
psoc_nan_obj->nan_caps.nan_dbs_supported &&
psoc_nan_obj->nan_caps.nan_conc_control);
ucfg_is_nan_conc_control_supported(psoc));
}

View file

@ -546,5 +546,11 @@ bool ucfg_is_nan_vdev(struct wlan_objmgr_vdev *vdev)
{
return false;
}
static inline
bool ucfg_is_nan_dbs_supported(struct wlan_objmgr_psoc *psoc)
{
return false;
}
#endif /* WLAN_FEATURE_NAN */
#endif /* _NAN_UCFG_API_H_ */