summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHsiu-Chang Chen <hsiuchangchen@google.com>2023-12-14 10:01:45 -0800
committerHsiu-Chang Chen <hsiuchangchen@google.com>2024-02-23 08:29:31 +0000
commit8412b34a08a1109abd5e9b6b6ed0f187fd0c7ebf (patch)
tree042a9ad68dec02e9d3d9f72acb1892b6f4033cf2
parent1e281aa58863d17b12cb4c5203e9ce4baf7a2e7e (diff)
downloadwlan-android-gs-bluejay-5.10-android15-beta.tar.gz
Currently, in the driver, the minimum MBSSID IE length value in the driver is set to 4. Some APs advertise this value as 1. In such situations, driver fails to parse this ie. So, to avoid such cases, modify the minimum mbssid ie length value to 1. Bug: 326351573 Test: Regression Test Change-Id: I6ef89706b95318cb9bd38e04cab56b0fdef99fd5 CRs-Fixed: 3684794 Signed-off-by: Hsiu-Chang Chen <hsiuchangchen@google.com>
-rw-r--r--qca-wifi-host-cmn/umac/scan/dispatcher/src/wlan_scan_utils_api.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/qca-wifi-host-cmn/umac/scan/dispatcher/src/wlan_scan_utils_api.c b/qca-wifi-host-cmn/umac/scan/dispatcher/src/wlan_scan_utils_api.c
index 5349e16..71361de 100644
--- a/qca-wifi-host-cmn/umac/scan/dispatcher/src/wlan_scan_utils_api.c
+++ b/qca-wifi-host-cmn/umac/scan/dispatcher/src/wlan_scan_utils_api.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2022 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
@@ -1413,7 +1413,7 @@ static void util_scan_update_esp_data(struct wlan_esp_ie *esp_information,
}
/**
- * util_scan_scm_update_bss_with_esp_dataa: calculate estimated air time
+ * util_scan_scm_update_bss_with_esp_data: calculate estimated air time
* fraction
* @scan_entry: new received entry
*
@@ -1463,7 +1463,7 @@ static void util_scan_scm_update_bss_with_esp_data(
/**
* util_scan_scm_calc_nss_supported_by_ap() - finds out nss from AP
- * @scan_entry: new received entry
+ * @scan_params: new received entry
*
* Return: number of nss advertised by AP
*/
@@ -1485,7 +1485,7 @@ static int util_scan_scm_calc_nss_supported_by_ap(
if (he_cap) {
/* Using rx mcs map related to 80MHz or lower as in some
- * cases higher mcs may suuport lesser NSS than that
+ * cases higher mcs may support lesser NSS than that
* of lowe mcs. Thus giving max NSS capability.
*/
end_ptr = he_cap + he_cap[1] + sizeof(struct ie_header);
@@ -1726,7 +1726,7 @@ static void util_scan_set_security(struct scan_cache_entry *scan_params)
}
#ifdef WLAN_FEATURE_11BE_MLO
-/**
+/*
* Multi link IE field offsets
* ------------------------------------------------------------------------
* | EID(1) | Len (1) | EID_EXT (1) | ML_CONTROL (2) | CMN_INFO (var) | ... |
@@ -1813,7 +1813,7 @@ static void util_scan_update_ml_info(struct scan_cache_entry *scan_entry)
/* TODO: update ml_info based on ML IE */
offset = ML_CMN_INFO_OFFSET;
- /* TODO: Add proper parsing based on presense bitmap */
+ /* TODO: Add proper parsing based on presence bitmap */
if (multi_link_ctrl & CMN_INFO_MLD_ADDR_PRESENT_BIT) {
if ((ml_ie + offset + QDF_MAC_ADDR_SIZE) <= end_ptr) {
qdf_mem_copy(&scan_entry->ml_info.mld_mac_addr,
@@ -1923,7 +1923,7 @@ util_scan_gen_scan_entry(struct wlan_objmgr_pdev *pdev,
scan_entry->bcn_int = le16toh(bcn->beacon_interval);
/*
- * In case if the beacon dosnt have
+ * In case if the beacon doesn't have
* valid beacon interval falback to def
*/
if (!scan_entry->bcn_int)
@@ -3077,7 +3077,8 @@ util_scan_parse_beacon_frame(struct wlan_objmgr_pdev *pdev,
mbssid_ie = util_scan_find_ie(WLAN_ELEMID_MULTIPLE_BSSID,
(uint8_t *)&bcn->ie, ie_len);
if (mbssid_ie) {
- if (mbssid_ie[TAG_LEN_POS] < VALID_ELEM_LEAST_LEN) {
+ /* some APs announce the MBSSID ie_len as 1 */
+ if (mbssid_ie[TAG_LEN_POS] < 1) {
scm_debug("MBSSID IE length is wrong %d",
mbssid_ie[TAG_LEN_POS]);
return status;