From cbecb299cf2a14f5af8e7bf99c085968612f5a17 Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Wed, 29 May 2019 15:04:49 +0530 Subject: [PATCH] qcacld-3.0: Advertise BSS transition enabled in extended capabilities When BTM config is disabled in the supplicant, the BSS transition bit (19) of the extended capabilities will be disabled. If BTM offload is enabled, currently driver still advertises that the BSS transition bit(19) as disabled. This results in AP disabling 11v for this STA. Advertise the BSS transition bit (19) as enabled in the extended capabilities if btm_offload ini bit 1 is enabled. Change-Id: I7c1977294a2e166321951ee0ec31f18929c42176 CRs-Fixed: 2455919 --- components/mlme/dispatcher/inc/wlan_mlme_public_struct.h | 3 +++ core/mac/src/pe/lim/lim_send_management_frames.c | 1 - core/mac/src/sys/legacy/src/utils/src/parser_api.c | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h index fae9d6cdaa2e..108b169ab384 100644 --- a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h +++ b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h @@ -1914,6 +1914,9 @@ struct wlan_mlme_wifi_pos_cfg { #define MLME_SET_BIT(value, bit_offset) ((value) |= (1 << (bit_offset))) +/* Mask to check if BTM offload is enabled/disabled*/ +#define BTM_OFFLOAD_ENABLED_MASK 0x01 + #define BTM_OFFLOAD_CONFIG_BIT_8 8 #define BTM_OFFLOAD_CONFIG_BIT_7 7 diff --git a/core/mac/src/pe/lim/lim_send_management_frames.c b/core/mac/src/pe/lim/lim_send_management_frames.c index 620b9f92bc7d..858024534a9f 100644 --- a/core/mac/src/pe/lim/lim_send_management_frames.c +++ b/core/mac/src/pe/lim/lim_send_management_frames.c @@ -1633,7 +1633,6 @@ QDF_STATUS lim_fill_adaptive_11r_ie(struct pe_session *pe_session, * * Return: Void */ - void lim_send_assoc_req_mgmt_frame(struct mac_context *mac_ctx, tLimMlmAssocReq *mlm_assoc_req, 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 4585d6c74d94..e6094e66a8a7 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 @@ -1095,6 +1095,9 @@ populate_dot11f_ext_cap(struct mac_context *mac, if (pe_session && pe_session->is_mbssid_enabled) p_ext_cap->multi_bssid = 1; + if (mac->mlme_cfg->btm.btm_offload_config & BTM_OFFLOAD_ENABLED_MASK) + p_ext_cap->bss_transition = 1; + /* Need to calculate the num_bytes based on bits set */ if (pDot11f->present) pDot11f->num_bytes = lim_compute_ext_cap_ie_length(pDot11f);