qcacld-3.0: Don't enable roaming till vdev is up during link switch

During link switch, as part of the disconnect sequence, roaming
is enabled on the other connected vdev and this causes RSO start
to be sent before vdev up is sent on that vdev. This causes
abnormal firmware behavior.

So don't send enable roaming till the vdev is up in case of link
switch. RSO start will be sent as part of the install key sequence.

Change-Id: Ib9fe520ec3d2b5c91fdba192934418e235082a31
CRs-Fixed: 3581618
This commit is contained in:
Pragaspathi Thilagaraj
2023-08-07 17:37:08 +05:30
committed by Rahul Choudhary
parent 5b34ce8d94
commit 72c6ae5928
3 changed files with 26 additions and 3 deletions

View File

@@ -37,6 +37,7 @@
#include "wlan_scan_api.h"
#include "wlan_mlo_mgr_roam.h"
#include "wlan_mlo_mgr_sta.h"
#include "wlan_mlo_mgr_link_switch.h"
#ifdef WLAN_FEATURE_11BE_MLO
static inline bool
@@ -169,6 +170,14 @@ if_mgr_enable_roaming_on_connected_sta(struct wlan_objmgr_pdev *pdev,
struct wlan_objmgr_psoc *psoc;
uint8_t vdev_id;
/*
* When link switch is in progress, don't send RSO Enable before vdev
* is up. RSO Enable will be sent as part of install keys once
* link switch connect sequence is complete.
*/
if (mlo_mgr_is_link_switch_in_progress(vdev))
return QDF_STATUS_SUCCESS;
psoc = wlan_vdev_get_psoc(vdev);
if (!psoc)
return QDF_STATUS_E_FAILURE;