qcacld-3.0: Handle eMLSR+NAN concurrency
eMLSR + NAN concurrency is not supported currently, so handle it as mentioned below 1. eMLSR+NAN: If NAN is coming up when eMLSR is active, disable one ML link so that eMLSR gets disabled. 2. NAN+eMLSR: If eMLSR is coming up when NAN is already enabled, disable one link so that eMLSR doesn't get enabled. Also, cleanup the APIs to carry a generic flag to indicate that a concurrent connection is coming up instead of mode specific flag as there is no dependency on modes to handle concurrency. Change-Id: I625f8b18f9d7e991922d22af53f3e8743a3727bd CRs-Fixed: 3443900
This commit is contained in:

committato da
Madan Koyyalamudi

parent
85d310d232
commit
b01b3c5e00
@@ -542,9 +542,9 @@ qdf_freq_t wlan_get_conc_freq(void);
|
||||
/**
|
||||
* wlan_handle_emlsr_sta_concurrency() - Handle concurrency scenarios with
|
||||
* EMLSR STA.
|
||||
* @vdev: pointer to vdev
|
||||
* @ap_coming_up: Check if the new connection request is SAP/P2P GO/NAN
|
||||
* @sta_coming_up: Check if the new connection request is STA/P2P Client
|
||||
* @psoc: pointer to psoc
|
||||
* @conc_con_coming_up: Carries true if any concurrent connection(STA/SAP/NAN)
|
||||
* is comng up
|
||||
* @emlsr_sta_coming_up: Check if the new connection request is EMLSR STA
|
||||
*
|
||||
* The API handles concurrency scenarios with existing EMLSR connection when a
|
||||
@@ -554,13 +554,13 @@ qdf_freq_t wlan_get_conc_freq(void);
|
||||
* Return: none
|
||||
*/
|
||||
void
|
||||
wlan_handle_emlsr_sta_concurrency(struct wlan_objmgr_vdev *vdev,
|
||||
bool ap_coming_up, bool sta_coming_up,
|
||||
wlan_handle_emlsr_sta_concurrency(struct wlan_objmgr_psoc *psoc,
|
||||
bool conc_con_coming_up,
|
||||
bool emlsr_sta_coming_up);
|
||||
#else
|
||||
static inline void
|
||||
wlan_handle_emlsr_sta_concurrency(struct wlan_objmgr_vdev *vdev,
|
||||
bool ap_coming_up, bool sta_coming_up,
|
||||
wlan_handle_emlsr_sta_concurrency(struct wlan_objmgr_psoc *psoc,
|
||||
bool conc_con_coming_up,
|
||||
bool emlsr_sta_coming_up)
|
||||
{
|
||||
}
|
||||
|
@@ -469,19 +469,11 @@ static QDF_STATUS ap_mlme_vdev_up_send(struct vdev_mlme_obj *vdev_mlme,
|
||||
}
|
||||
|
||||
#ifdef WLAN_FEATURE_11BE_MLO
|
||||
void wlan_handle_emlsr_sta_concurrency(struct wlan_objmgr_vdev *vdev,
|
||||
bool ap_coming_up, bool sta_coming_up,
|
||||
void wlan_handle_emlsr_sta_concurrency(struct wlan_objmgr_psoc *psoc,
|
||||
bool conc_con_coming_up,
|
||||
bool emlsr_sta_coming_up)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc = wlan_vdev_get_psoc(vdev);
|
||||
|
||||
if (!psoc) {
|
||||
mlme_legacy_debug("psoc Null");
|
||||
return;
|
||||
}
|
||||
|
||||
policy_mgr_handle_emlsr_sta_concurrency(psoc, vdev, ap_coming_up,
|
||||
sta_coming_up,
|
||||
policy_mgr_handle_emlsr_sta_concurrency(psoc, conc_con_coming_up,
|
||||
emlsr_sta_coming_up);
|
||||
}
|
||||
#endif
|
||||
|
Fai riferimento in un nuovo problema
Block a user