qcacld-3.0: Handle concurrency with new EMLSR connection
Currently, if there is a legacy connection and a new STA connection comes up with EMLSR capability, Host does not advertise EML caps in assoc request. But there is no support to enable EMLSR mode if the legacy connection goes away. Thus, add support to handle this concurrency scenario as follows 1) Host should advertise EML support capability in assoc request. 2) After association is complete, force disable one of the EMLSR links. 3) Once the legacy connection goes down, re-enable the disabled link. Change-Id: I5d9f37827e2a9f0571fa9733b4779668bd987f92 CRs-Fixed: 3363115
This commit is contained in:

committad av
Madan Koyyalamudi

förälder
c73843f146
incheckning
06bec08823
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -551,21 +551,27 @@ qdf_freq_t wlan_get_conc_freq(void);
|
||||
#ifdef WLAN_FEATURE_11BE_MLO
|
||||
/**
|
||||
* wlan_handle_emlsr_sta_concurrency() - Handle concurrency scenarios with
|
||||
* existing eMLSR connection when a new cktn request is received.
|
||||
* 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
|
||||
* @emlsr_sta_coming_up: Check if the new connection request is EMLSR STA
|
||||
*
|
||||
* @vdev: pointer to vdev on which new connection is coming up
|
||||
* @ap_coming_up: Check if the new cktn request is SAP/P2P GO/NAN
|
||||
* @sta_coming_up: Check if the new cktn request is STA/P2P Client
|
||||
* The API handles concurrency scenarios with existing EMLSR connection when a
|
||||
* new connection request is received OR with an existing legacy connection when
|
||||
* an EMLSR sta comes up.
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
void
|
||||
wlan_handle_emlsr_sta_concurrency(struct wlan_objmgr_vdev *vdev,
|
||||
bool ap_coming_up, bool sta_coming_up);
|
||||
bool ap_coming_up, bool sta_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)
|
||||
bool ap_coming_up, bool sta_coming_up,
|
||||
bool emlsr_sta_coming_up)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -467,7 +467,8 @@ 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)
|
||||
bool ap_coming_up, bool sta_coming_up,
|
||||
bool emlsr_sta_coming_up)
|
||||
{
|
||||
struct wlan_objmgr_psoc *psoc = wlan_vdev_get_psoc(vdev);
|
||||
|
||||
@@ -477,7 +478,8 @@ void wlan_handle_emlsr_sta_concurrency(struct wlan_objmgr_vdev *vdev,
|
||||
}
|
||||
|
||||
policy_mgr_handle_emlsr_sta_concurrency(psoc, vdev, ap_coming_up,
|
||||
sta_coming_up);
|
||||
sta_coming_up,
|
||||
emlsr_sta_coming_up);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Referens i nytt ärende
Block a user