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,30 +1989,29 @@ 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
(WLAN_ELEMID_CHANSWITCHANN, ielist_offset,
ielist_len);
link_info->csa_ie = wlan_get_ie_ptr_from_eid link_info->ecsa_ie = wlan_get_ie_ptr_from_eid
(WLAN_ELEMID_CHANSWITCHANN, ielist_offset, (WLAN_ELEMID_EXTCHANSWITCHANN, ielist_offset,
ielist_len); ielist_len);
link_info->ecsa_ie = wlan_get_ie_ptr_from_eid eid = WLAN_EXTN_ELEMID_MAX_CHAN_SWITCH_TIME;
(WLAN_ELEMID_EXTCHANSWITCHANN, ielist_offset, link_info->max_cst_ie = wlan_get_ext_ie_ptr_from_ext_id
ielist_len); (&eid, 1, ielist_offset, ielist_len);
}
eid = WLAN_EXTN_ELEMID_MAX_CHAN_SWITCH_TIME;
link_info->max_cst_ie = wlan_get_ext_ie_ptr_from_ext_id
(&eid, 1, ielist_offset, ielist_len);
scan_entry->ml_info.num_links++;
} }
} }