From bfb04859c65167f5ae74ee1db9892ab7e5e09c73 Mon Sep 17 00:00:00 2001 From: Sridhar Selvaraj Date: Fri, 20 Aug 2021 19:03:59 +0530 Subject: [PATCH] qcacmn: Reset skip_bssid_copy flag in split profile parsing While parsing MBSS IE split profiles, bssid copy flag is not reset in between sub element parsing resulting in skipping the bssid copy for next non tx profile. Reset skip_bssid_copy flag for each sub element parsing so that correct bssid is copied for next non tx profile CRs-Fixed: 3019298 Change-Id: I429190b21a3ddafdc75a73e8b063f6b6f629492a --- umac/scan/dispatcher/src/wlan_scan_utils_api.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/umac/scan/dispatcher/src/wlan_scan_utils_api.c b/umac/scan/dispatcher/src/wlan_scan_utils_api.c index 3ca04d3711..6727b8deb7 100644 --- a/umac/scan/dispatcher/src/wlan_scan_utils_api.c +++ b/umac/scan/dispatcher/src/wlan_scan_utils_api.c @@ -2541,6 +2541,12 @@ util_handle_nontx_prof(uint8_t *mbssid_elem, uint8_t *subelement, mbssid_index_ie[BSS_INDEX_POS], new_bssid); } + /* In single MBSS IE, there could be subelement holding + * remaining vendor IEs of non tx profile from last MBSS IE + * [split profile] and new non tx profile, hence reset + * skip_bssid_copy flag after each subelement processing + */ + mbssid_info->skip_bssid_copy = false; return VALID_NONTX_PROF; } @@ -2651,7 +2657,6 @@ static QDF_STATUS util_scan_parse_mbssid(struct wlan_objmgr_pdev *pdev, mbssid_info.split_profile = util_scan_is_split_prof_found(next_elem, ie, ielen); - mbssid_info.skip_bssid_copy = false; for (subelement = mbssid_elem + SUBELEMENT_START_POS; subelement < (next_elem - 1); subelement += MIN_IE_LEN + subelement[TAG_LEN_POS]) {