[PATCH] Revert "wpa_supplicant: Send EAPOL frames over nl80211 where available"

Fabio Estevam festevam at gmail.com
Sun Jun 11 13:23:51 PDT 2023


This reverts commit 144314eaa7e09374b7f9a3708263a298e05cbfd6.

Since commit 144314eaa7e0 ("wpa_supplicant: Send EAPOL frames over nl80211
where available"), Wifi is no longer functional on an imx6dl-pico board
running 6.1 LTS kernel with a QCA9377 Wifi chip (ath10k SDIO driver):

wlan0: authenticate with xx:xx:xx:xx:xx:xx
wlan0: 80 MHz not supported, disabling VHT
wlan0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
wlan0: authenticated
wlan0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
wlan0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=0x411 status=0 aid=3)
wlan0: associated
wlan0: deauthenticating from xx:xx:xx:xx:xx:xx by local choice
(Reason: 3=DEAUTH_LEAVING)
Error: Connection activation failed: Secrets were required, but not provided.

Revert it for now to avoid such a regression.

Signed-off-by: Fabio Estevam <festevam at gmail.com>
---
Hi Jouni and Brendan,

This revert is the result of me running git bisect between 2.9 and 2.10
to identify the cause of the regression.

I am merely a wpa_supplicant user and do not have the knowledge of its
internals.

If there is a better way to fix the regression I reported, as well as
keeping Brendan's use-case working, please let me know.

Thanks

 wpa_supplicant/ibss_rsn.c  | 4 ----
 wpa_supplicant/wpas_glue.c | 8 --------
 2 files changed, 12 deletions(-)

diff --git a/wpa_supplicant/ibss_rsn.c b/wpa_supplicant/ibss_rsn.c
index 5b31f7bb0e3d..1b867e1c6491 100644
--- a/wpa_supplicant/ibss_rsn.c
+++ b/wpa_supplicant/ibss_rsn.c
@@ -71,10 +71,6 @@ static int supp_ether_send(void *ctx, const u8 *dest, u16 proto, const u8 *buf,
 		   __func__, MAC2STR(dest), proto, (unsigned long) len,
 		   !encrypt);
 
-	if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_CONTROL_PORT)
-		return wpa_drv_tx_control_port(wpa_s, dest, proto, buf, len,
-					       !encrypt);
-
 	if (wpa_s->l2)
 		return l2_packet_send(wpa_s->l2, dest, proto, buf, len);
 
diff --git a/wpa_supplicant/wpas_glue.c b/wpa_supplicant/wpas_glue.c
index c4cfca50e62a..3aeb7cb45c47 100644
--- a/wpa_supplicant/wpas_glue.c
+++ b/wpa_supplicant/wpas_glue.c
@@ -113,14 +113,6 @@ int wpa_ether_send(struct wpa_supplicant *wpa_s, const u8 *dest,
 	}
 #endif /* CONFIG_TESTING_OPTIONS */
 
-	if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_CONTROL_PORT) {
-		int encrypt = wpa_s->wpa &&
-			wpa_sm_has_ptk_installed(wpa_s->wpa);
-
-		return wpa_drv_tx_control_port(wpa_s, dest, proto, buf, len,
-					       !encrypt);
-	}
-
 	if (wpa_s->l2) {
 		return l2_packet_send(wpa_s->l2, dest, proto, buf, len);
 	}
-- 
2.34.1




More information about the Hostap mailing list