nl80211: Fix wrong requested links bitmap in sta_mlo_info.req_links

Currently sta_mlo_info.req_links is not getting cleared before
populating the requested links information for a new connection/roam
event. This is causing wrong requested links bitmap in
sta_mlo_info.req_links if there is a change in requested link IDs
between the previous and the new connection. To avoid such issues fully
clear MLO connection information after disconnection and before
populating MLO connection information during (re)association event.

Fixes: cc2236299f ("nl80211: Get all requested MLO links information from (re)association events")
Signed-off-by: Veerendranath Jakkam <quic_vjakkam@quicinc.com>
This commit is contained in:
Veerendranath Jakkam 2022-11-21 12:03:14 +05:30 committed by Jouni Malinen
parent b6e226496b
commit 2e40f969b1
2 changed files with 2 additions and 2 deletions

View file

@ -271,7 +271,7 @@ void nl80211_mark_disconnected(struct wpa_driver_nl80211_data *drv)
if (drv->associated) if (drv->associated)
os_memcpy(drv->prev_bssid, drv->bssid, ETH_ALEN); os_memcpy(drv->prev_bssid, drv->bssid, ETH_ALEN);
drv->associated = 0; drv->associated = 0;
drv->sta_mlo_info.valid_links = 0; os_memset(&drv->sta_mlo_info, 0, sizeof(drv->sta_mlo_info));
os_memset(drv->bssid, 0, ETH_ALEN); os_memset(drv->bssid, 0, ETH_ALEN);
drv->first_bss->freq = 0; drv->first_bss->freq = 0;
#ifdef CONFIG_DRIVER_NL80211_QCA #ifdef CONFIG_DRIVER_NL80211_QCA

View file

@ -814,7 +814,7 @@ static void mlme_event_connect(struct wpa_driver_nl80211_data *drv,
} }
drv->associated = 1; drv->associated = 1;
drv->sta_mlo_info.valid_links = 0; os_memset(&drv->sta_mlo_info, 0, sizeof(drv->sta_mlo_info));
nl80211_parse_mlo_info(drv, qca_roam_auth, addr, mlo_links, req_ie, nl80211_parse_mlo_info(drv, qca_roam_auth, addr, mlo_links, req_ie,
resp_ie); resp_ie);
if (!drv->sta_mlo_info.valid_links && addr) { if (!drv->sta_mlo_info.valid_links && addr) {