Use MLD address in nl80211_port_authorized for MLO
Bug: 281876487
Test: Manual.
Change-Id: I1bb5f78deb76dc2c8b746e3919a5e67aa607ab69
diff --git a/src/drivers/driver_nl80211_event.c b/src/drivers/driver_nl80211_event.c
index 8b0275a..14d7842 100644
--- a/src/drivers/driver_nl80211_event.c
+++ b/src/drivers/driver_nl80211_event.c
@@ -3185,6 +3185,8 @@
{
const u8 *addr;
union wpa_event_data event;
+ const u8 *connected_addr = drv->sta_mlo_info.valid_links ?
+ drv->sta_mlo_info.ap_mld_addr : drv->bssid;
os_memset(&event, 0, sizeof(event));
@@ -3196,11 +3198,11 @@
}
addr = nla_data(tb[NL80211_ATTR_MAC]);
- if (os_memcmp(addr, drv->bssid, ETH_ALEN) != 0) {
+ if (os_memcmp(addr, connected_addr, ETH_ALEN) != 0) {
wpa_printf(MSG_DEBUG,
"nl80211: Ignore port authorized event for " MACSTR
" (not the currently connected BSSID " MACSTR ")",
- MAC2STR(addr), MAC2STR(drv->bssid));
+ MAC2STR(addr), MAC2STR(connected_addr));
return;
}