qcacmn: Fix for 3 link mlo connection issue

Update CSA IE in per sta probe in already filled
partner link info.

Change-Id: I681813234f9dfbf0dc80009d2137765b6b5d3b62
CRs-Fixed: 3268027
This commit is contained in:
Venkateswara Swamy Bandaru
2022-08-18 11:34:08 +05:30
committed by Madan Koyyalamudi
parent cbc05e67fe
commit d43b4a9f17

View File

@@ -1989,17 +1989,17 @@ static void util_get_partner_link_info(struct scan_cache_entry *scan_entry)
ielist_len = 0; ielist_len = 0;
} }
scan_entry->ml_info.link_info[0].link_id = sta_ctrl & 0xF; link_info = NULL;
if (sta_ctrl & LINK_INFO_MAC_ADDR_PRESENT_BIT) { for (link_idx = 0; link_idx < scan_entry->ml_info.num_links;
qdf_mem_copy( link_idx++) {
&scan_entry->ml_info.link_info[0].link_addr, if (scan_entry->ml_info.link_info[link_idx].link_id ==
ml_ie + offset, 6); (sta_ctrl & 0xF)) {
scm_debug("Found partner info in ML IE"); link_info = &scan_entry->ml_info.link_info[link_idx];
}
} }
/* Get the pointers to CSA, ECSA, Max Channel Switch Time IE. */ /* Get the pointers to CSA, ECSA, Max Channel Switch Time IE. */
link_info = &scan_entry->ml_info.link_info[0]; if (link_info) {
link_info->csa_ie = wlan_get_ie_ptr_from_eid link_info->csa_ie = wlan_get_ie_ptr_from_eid
(WLAN_ELEMID_CHANSWITCHANN, ielist_offset, (WLAN_ELEMID_CHANSWITCHANN, ielist_offset,
ielist_len); ielist_len);
@@ -2011,8 +2011,7 @@ static void util_get_partner_link_info(struct scan_cache_entry *scan_entry)
eid = WLAN_EXTN_ELEMID_MAX_CHAN_SWITCH_TIME; eid = WLAN_EXTN_ELEMID_MAX_CHAN_SWITCH_TIME;
link_info->max_cst_ie = wlan_get_ext_ie_ptr_from_ext_id link_info->max_cst_ie = wlan_get_ext_ie_ptr_from_ext_id
(&eid, 1, ielist_offset, ielist_len); (&eid, 1, ielist_offset, ielist_len);
}
scan_entry->ml_info.num_links++;
} }
} }