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 ?