mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 22:23:14 -04:00
qcacld-3.0: Don't disable btm offload for open mode connection
Currently driver disables btm offload to firmware if connected AP supports MBO-OCE and the connection is not PMF enabled. But the pmf will always be disabled for open mode connection, so BTM offload is disabled with open mode MBO-OCE enabled AP always. Check if the connection is open mode connection and allow BTM offload config. Change-Id: I8fe9b43c07700dca02cf7bb874e1c5c509b120f7 CRs-Fixed: 2831463
This commit is contained in:
parent
95e9f37f77
commit
b808ec7654
1 changed files with 26 additions and 5 deletions
|
|
@ -17062,7 +17062,9 @@ static void csr_update_btm_offload_config(struct mac_context *mac_ctx,
|
|||
struct csr_roam_session *session)
|
||||
{
|
||||
struct wlan_objmgr_peer *peer;
|
||||
bool is_pmf_enabled;
|
||||
struct wlan_objmgr_vdev *vdev;
|
||||
bool is_pmf_enabled, is_open_connection = false;
|
||||
int32_t cipher;
|
||||
|
||||
*btm_offload_config =
|
||||
mac_ctx->mlme_cfg->btm.btm_offload_config;
|
||||
|
|
@ -17093,16 +17095,35 @@ static void csr_update_btm_offload_config(struct mac_context *mac_ctx,
|
|||
}
|
||||
|
||||
is_pmf_enabled = mlme_get_peer_pmf_status(peer);
|
||||
wlan_objmgr_peer_release_ref(peer, WLAN_LEGACY_SME_ID);
|
||||
sme_debug("get is_pmf_enabled %d for "QDF_MAC_ADDR_FMT, is_pmf_enabled,
|
||||
QDF_MAC_ADDR_REF(session->pConnectBssDesc->bssId));
|
||||
|
||||
/* If peer does not support PMF in case of OCE/MBO
|
||||
wlan_objmgr_peer_release_ref(peer, WLAN_LEGACY_SME_ID);
|
||||
|
||||
vdev = wlan_objmgr_get_vdev_by_id_from_psoc(mac_ctx->psoc,
|
||||
session->vdev_id,
|
||||
WLAN_LEGACY_SME_ID);
|
||||
if (!vdev) {
|
||||
sme_err("vdev:%d is NULL", session->vdev_id);
|
||||
return;
|
||||
}
|
||||
|
||||
cipher = wlan_crypto_get_param(vdev, WLAN_CRYPTO_PARAM_UCAST_CIPHER);
|
||||
if (!cipher || QDF_HAS_PARAM(cipher, WLAN_CRYPTO_CIPHER_NONE))
|
||||
is_open_connection = true;
|
||||
|
||||
wlan_objmgr_vdev_release_ref(vdev, WLAN_LEGACY_SME_ID);
|
||||
|
||||
/*
|
||||
* If peer does not support PMF in case of OCE/MBO
|
||||
* Connection, Disable BTM offload to firmware.
|
||||
*/
|
||||
if (session->pConnectBssDesc->mbo_oce_enabled_ap &&
|
||||
!is_pmf_enabled)
|
||||
(!is_pmf_enabled && !is_open_connection))
|
||||
*btm_offload_config = 0;
|
||||
|
||||
sme_debug("is_open:%d is_pmf_enabled %d btm_offload_cfg:%d for "QDF_MAC_ADDR_FMT,
|
||||
is_open_connection, is_pmf_enabled,
|
||||
*btm_offload_config,
|
||||
QDF_MAC_ADDR_REF(session->pConnectBssDesc->bssId));
|
||||
}
|
||||
|
||||
#ifndef ROAM_OFFLOAD_V1
|
||||
|
|
|
|||
Loading…
Reference in a new issue