From: Vinayak Yadawad Date: Mon, 20 Nov 2023 12:39:33 +0000 (+0530) Subject: nl80211: Update port authorized indication for MLO address X-Git-Tag: hostap_2_11~784 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69ea73bfed309810243a2002fd0ea9c26e0ddd89;p=thirdparty%2Fhostap.git nl80211: Update port authorized indication for MLO address Handling of port authorized event for STA currently handles the connected BSSID. This needs additional handling to support the AP MLD address in case of MLO connection. The connected_addr expected by cfg80211_port_authorized() is mld_addr for ML connection case. Signed-off-by: Vinayak Yadawad --- diff --git a/src/drivers/driver_nl80211_event.c b/src/drivers/driver_nl80211_event.c index 0091032e5..b3daf546f 100644 --- a/src/drivers/driver_nl80211_event.c +++ b/src/drivers/driver_nl80211_event.c @@ -3511,13 +3511,19 @@ static void nl80211_port_authorized(struct wpa_driver_nl80211_data *drv, wpa_printf(MSG_DEBUG, "nl80211: Port authorized for STA addr " MACSTR, MAC2STR(addr)); - } else if (is_sta_interface(drv->nlmode) && - os_memcmp(addr, drv->bssid, 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)); - return; + } else if (is_sta_interface(drv->nlmode)) { + const u8 *connected_addr; + + connected_addr = drv->sta_mlo_info.valid_links ? + drv->sta_mlo_info.ap_mld_addr : drv->bssid; + 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(connected_addr)); + return; + } } if (tb[NL80211_ATTR_TD_BITMAP]) {