The AP MLD with an associated non-AP MLD receiving an (Re)Association
Request frame that uses the same MLD MAC address as that of the
associated non-AP MLD may reject association temporarily and include the
Timeout Interval element to indicate the association comeback time.
However, the Timeout Interval element is not included currently as
mld_addrs_not_translated flag is true in this case which causes NULL sta
object to be passed to send_assoc_resp().
Fix this by not setting mld_addrs_not_translated if the station is found
in the same link where an (Re)Association Request frame is received, so
that the Timeout Interval element is added into the (Re)Association
Response frame when requesting association comeback.
Signed-off-by: Karthik M <karthik.m@oss.qualcomm.com>
sta = handle_mlo_translate(hapd, mgmt, len, reassoc,
&assoc_hapd);
if (sta) {
- wpa_printf(MSG_DEBUG,
- "MLD: Switching to assoc hapd/station");
- hapd = assoc_hapd;
- mld_addrs_not_translated = true;
+ if (hapd != assoc_hapd) {
+ wpa_printf(MSG_DEBUG,
+ "MLD: Switching to assoc hapd/station");
+ hapd = assoc_hapd;
+ mld_addrs_not_translated = true;
+ }
+
}
}
#endif /* CONFIG_IEEE80211BE */