From: Veerendranath Jakkam Date: Sat, 24 Dec 2022 09:41:05 +0000 (+0530) Subject: MLD STA: Use AP MLD address in PMKSA cache attempts for driver-SME case X-Git-Tag: hostap_2_11~1325 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a32b424a3d9754273e6047ed2d60d68b405b79f5;p=thirdparty%2Fhostap.git MLD STA: Use AP MLD address in PMKSA cache attempts for driver-SME case The previous implementation handles PMKSA cache attempts with AP MLD address only for SME-in-wpa_supplicant cases since wpa_s->valid_links wouldn't be set for SME-in-driver cases. Fix SME-in-driver behavior by enabling PMKSA cache attempts with AP MLD address when driver supports MLO and SME offload to driver. Signed-off-by: Veerendranath Jakkam --- diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c index 61aa55f81..3766e8b7c 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -3164,7 +3164,13 @@ static u8 * wpas_populate_assoc_ies( const u8 *cache_id = NULL; const u8 *addr = bss->bssid; - if (wpa_s->valid_links) + if (!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME) && + (wpa_s->drv_flags2 & WPA_DRIVER_FLAGS2_MLO) && + !is_zero_ether_addr(bss->mld_addr)) + addr = bss->mld_addr; + + if ((wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME) && + wpa_s->valid_links) addr = wpa_s->ap_mld_addr; try_opportunistic = (ssid->proactive_key_caching < 0 ?