[PATCH RFC] wpa_s: use proper channel to send SAE AUTH frames

Sergey Matyukevich sergey.matyukevich.os at quantenna.com
Wed Apr 10 08:00:16 PDT 2019

SAE connection fails if CSA occured during any previous connection
since the start of current wpa_supplicant runtime.

The root cause is as follows. If STA channel changes due to CSA,
then bss->freq is updated in mlme_event_ch_switch. However this
value is not cleared between connections. So later it will be
used during SAE AUTH frame exchange.

Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os at quantenna.com>

By the way, it looks like cleaning up bss->freq field would be a better
option. But so far I could not figure out a good place for this kind of
cleanup. Any suggestions are welcome.

 src/drivers/driver_nl80211.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index 661e34e66..0ce76086d 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -5809,6 +5809,7 @@ static int wpa_driver_nl80211_associate(
 		if (params->auth_alg & WPA_AUTH_ALG_SAE) {
 			nl_connect = bss->nl_connect;
 			bss->use_nl_connect = 1;
+			bss->freq = params->freq.freq;
 		} else {
 			bss->use_nl_connect = 0;

More information about the Hostap mailing list