@@ -2600,6 +2600,15 @@ static int wpa_supplicant_ctrl_iface_status(struct wpa_supplicant *wpa_s,
}
#endif /* CONFIG_WPS */
+#ifdef CONFIG_IEEE80211AX
+ if (wpa_s->ieee80211ax) {
+ ret = os_snprintf(pos, end - pos, "ieee80211ax=1\n");
+ if (os_snprintf_error(end - pos, ret))
+ return pos - buf;
+ pos += ret;
+ }
+#endif /* CONFIG_IEEE80211AX */
+
if (wpa_s->ieee80211ac) {
ret = os_snprintf(pos, end - pos, "ieee80211ac=1\n");
if (os_snprintf_error(end - pos, ret))
@@ -439,6 +439,9 @@ void wpa_supplicant_mark_disassoc(struct wpa_supplicant *wpa_s)
os_memset(wpa_s->last_tk, 0, sizeof(wpa_s->last_tk));
#endif /* CONFIG_TESTING_OPTIONS */
wpa_s->ieee80211ac = 0;
+#ifdef CONFIG_IEEE80211AX
+ wpa_s->ieee80211ax = 0;
+#endif /* CONFIG_IEEE80211AX */
if (wpa_s->enabled_4addr_mode && wpa_drv_set_4addr_mode(wpa_s, 0) == 0)
wpa_s->enabled_4addr_mode = 0;
@@ -3534,6 +3537,9 @@ static void wpas_parse_connection_info(struct wpa_supplicant *wpa_s,
wpa_s->connection_set = 0;
wpa_s->ieee80211ac = 0;
+#ifdef CONFIG_IEEE80211AX
+ wpa_s->ieee80211ax = 0;
+#endif /* CONFIG_IEEE80211AX */
if (!req_ies || !resp_ies ||
ieee802_11_parse_elems(req_ies, req_ies_len, &req_elems, 0) ==
@@ -3560,6 +3566,10 @@ static void wpas_parse_connection_info(struct wpa_supplicant *wpa_s,
* actual VHT/IEEE 802.11ac associations. */
wpa_s->ieee80211ac = wpa_s->connection_vht &&
!wpa_s->connection_he && !wpa_s->connection_eht;
+#ifdef CONFIG_IEEE80211AX
+ wpa_s->ieee80211ax = wpa_s->connection_he &&
+ !wpa_s->connection_eht;
+#endif /* CONFIG_IEEE80211AX */
if (req_elems.rrm_enabled)
wpa_s->rrm.rrm_used = 1;
@@ -1634,6 +1634,9 @@ struct wpa_supplicant {
#ifdef CONFIG_FILS
unsigned int disable_fils:1;
#endif /* CONFIG_FILS */
+#ifdef CONFIG_IEEE80211AX
+ unsigned int ieee80211ax:1;
+#endif /* CONFIG_IEEE80211AX */
unsigned int ieee80211ac:1;
unsigned int enabled_4addr_mode:1;
unsigned int multi_bss_support:1;