diff options
author | Hsiu-Chang Chen <hsiuchangchen@google.com> | 2023-12-14 10:01:45 -0800 |
---|---|---|
committer | Hsiu-Chang Chen <hsiuchangchen@google.com> | 2024-02-23 08:29:31 +0000 |
commit | 8412b34a08a1109abd5e9b6b6ed0f187fd0c7ebf (patch) | |
tree | 042a9ad68dec02e9d3d9f72acb1892b6f4033cf2 | |
parent | 1e281aa58863d17b12cb4c5203e9ce4baf7a2e7e (diff) | |
download | wlan-android-gs-bluejay-5.10-android15-dp.tar.gz |
qcacmn: Change minimum mbssid ie length value to 1android-u-qpr3-beta-2.1_r0.7android-u-qpr3-beta-2.1_r0.5android-u-qpr3-beta-2.1_r0.4android-u-qpr3-beta-2.1_r0.3android-u-qpr3-beta-2.1_r0.2android-u-qpr3-beta-2.1_r0.1android-15-beta-1_r0.6android-15-beta-1_r0.4android-15-beta-1_r0.2android-15-beta-1_r0.1android-gs-tangorpro-5.10-android15-dpandroid-gs-tangorpro-5.10-android14-qpr3-betaandroid-gs-raviole-5.10-android14-qpr3-betaandroid-gs-pantah-5.10-android15-dpandroid-gs-pantah-5.10-android14-qpr3-betaandroid-gs-lynx-5.10-android14-qpr3-betaandroid-gs-felix-5.10-android15-dpandroid-gs-felix-5.10-android14-qpr3-betaandroid-gs-bluejay-5.10-android15-dpandroid-gs-bluejay-5.10-android14-qpr3-beta
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.c | 17 |
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; |