From c1eddbf6bb7b78ffc9123fdad0538e7bcc6ca105 Mon Sep 17 00:00:00 2001 From: Surya Prakash Sivaraj Date: Thu, 25 Jan 2024 16:34:29 +0530 Subject: [PATCH] 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 --- .../src/sys/legacy/src/utils/src/parser_api.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c index 51feea927c..e28b8624e7 100644 --- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c +++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c @@ -1,6 +1,6 @@ /* * 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 * 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)) { p_ext_cap->bss_transition = 0; 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); if (!dot11f->num_bytes) { dot11f->present = 0;