qcacld-3.0: Do not enable BTM for MBO BSS without PMF

Disable the bss transition cap in the extended capabilities
IE, if the AP supports MBO without PMF.

Change-Id: Iaaacb95e74aa1d4f5f4a651eafe7370e6ed78627
CRs-Fixed: 3716299
This commit is contained in:
Surya Prakash Sivaraj
2024-01-25 16:34:29 +05:30
committad av Ravindra Konda
förälder 448aaddcd7
incheckning c1eddbf6bb

Visa fil

@@ -1,6 +1,6 @@
/* /*
* Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved. * Copyright (c) 2021-2024 Qualcomm Innovation Center, Inc. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -12177,11 +12177,19 @@ QDF_STATUS populate_dot11f_btm_extended_caps(struct mac_context *mac_ctx,
if (QDF_IS_STATUS_ERROR(status)) { if (QDF_IS_STATUS_ERROR(status)) {
p_ext_cap->bss_transition = 0; p_ext_cap->bss_transition = 0;
pe_debug("Disable btm for roaming not suppprted"); pe_debug("Disable btm for roaming not suppprted");
} else {
p_ext_cap->bss_transition = 1;
pe_debug("Enable btm for roaming suppprted");
} }
if (!pe_session->lim_join_req)
goto compute_len;
if (p_ext_cap->bss_transition && !cm_is_open_mode(pe_session->vdev) &&
pe_session->lim_join_req->bssDescription.mbo_oce_enabled_ap &&
!pe_session->limRmfEnabled) {
pe_debug("Disable BTM as the MBO AP doesn't support PMF");
p_ext_cap->bss_transition = 0;
}
compute_len:
dot11f->num_bytes = lim_compute_ext_cap_ie_length(dot11f); dot11f->num_bytes = lim_compute_ext_cap_ie_length(dot11f);
if (!dot11f->num_bytes) { if (!dot11f->num_bytes) {
dot11f->present = 0; dot11f->present = 0;