qcacld-3.0: Handle supplicant enable rso for mlo connection
In case supplicant enable's roaming before link vdevs are up drop the request as once all links are up host will enable RSO. Change-Id: Iba10b6da7c0d24f6e7b1601eefab1dbee0e3af46 CRs-Fixed: 3429178
此提交包含在:
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
|
* Copyright (c) 2020-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
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
@@ -25,6 +25,7 @@
|
|||||||
#include "wlan_cm_roam_ucfg_api.h"
|
#include "wlan_cm_roam_ucfg_api.h"
|
||||||
#include "../../core/src/wlan_cm_roam_offload.h"
|
#include "../../core/src/wlan_cm_roam_offload.h"
|
||||||
#include "wlan_reg_ucfg_api.h"
|
#include "wlan_reg_ucfg_api.h"
|
||||||
|
#include "wlan_mlo_mgr_sta.h"
|
||||||
|
|
||||||
bool ucfg_is_rso_enabled(struct wlan_objmgr_pdev *pdev, uint8_t vdev_id)
|
bool ucfg_is_rso_enabled(struct wlan_objmgr_pdev *pdev, uint8_t vdev_id)
|
||||||
{
|
{
|
||||||
@@ -89,6 +90,16 @@ ucfg_user_space_enable_disable_rso(struct wlan_objmgr_pdev *pdev,
|
|||||||
mlme_set_supplicant_disabled_roaming(psoc, vdev_id,
|
mlme_set_supplicant_disabled_roaming(psoc, vdev_id,
|
||||||
!is_fast_roam_enabled);
|
!is_fast_roam_enabled);
|
||||||
|
|
||||||
|
/* For mlo connection, before all links are up
|
||||||
|
* supplicant can enable roaming, to handle this
|
||||||
|
* drop the enable rso as host will enable roaming
|
||||||
|
* once all links are up
|
||||||
|
*/
|
||||||
|
if (mlo_is_ml_connection_in_progress(psoc, vdev_id)) {
|
||||||
|
mlme_debug("mlo connection in progress");
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
state = (is_fast_roam_enabled) ?
|
state = (is_fast_roam_enabled) ?
|
||||||
WLAN_ROAM_RSO_ENABLED : WLAN_ROAM_RSO_STOPPED;
|
WLAN_ROAM_RSO_ENABLED : WLAN_ROAM_RSO_STOPPED;
|
||||||
status = cm_roam_state_change(pdev, vdev_id, state,
|
status = cm_roam_state_change(pdev, vdev_id, state,
|
||||||
|
新增問題並參考
封鎖使用者