(+Stanley) On 06/16/2019 1:21, Stefan Wahren wrote: > Am 15.06.19 um 19:01 schrieb Stefan Wahren: >> Hi, >> >> i was able to reproduce an (maybe older issue) with 4-way handshake >> offloading for 802.1X in the brcmfmac driver. My setup consists of >> Raspberry Pi 3 B (current linux-next, arm64/defconfig) on STA side and a >> Raspberry Pi 3 A+ (Linux 4.19) on AP side. > > Looks like Raspberry Pi isn't the only affected platform [3], [4]. > > [3] - https://bugzilla.redhat.com/show_bug.cgi?id=1665608 > [4] - https://bugzilla.kernel.org/show_bug.cgi?id=202521 Stefan, Could you please try the attached patch for your wpa_supplicant? We'll upstream if it works for you. Regards, Chi-hsien Lin
From 9774dfbf62f41080267ebb0943015a9f6d1dc0cf Mon Sep 17 00:00:00 2001 From: Chung-Hsien Hsu <stanley.hsu@xxxxxxxxxxx> Date: Mon, 20 May 2019 17:10:39 +0800 Subject: [PATCH] wpa_supplicant: Fix 802.1X 4-way handshake offload indication Commit d896874f8689 ("nl80211: Indicate 802.1X 4-way handshake offload in connect") used the req_key_mgmt_offload flag to indicate to the driver that it should offload the 802.1X handshake. However, the flag will be updated according to th configuration of proactive key caching and OKC if key management offload is considered (it is enabled by default now). Do not update the flag if it has been set for 802.1X 4-way handshake offload. Signed-off-by: Chung-Hsien Hsu <stanley.hsu@xxxxxxxxxxx> --- wpa_supplicant/wpa_supplicant.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c index 96a3691cf3cf..66ee268d861c 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -3221,8 +3221,10 @@ static void wpas_start_assoc_cb(struct wpa_radio_work *work, int deinit) params.key_mgmt_suite == WPA_KEY_MGMT_IEEE8021X_SUITE_B || params.key_mgmt_suite == WPA_KEY_MGMT_IEEE8021X_SUITE_B_192)) params.req_key_mgmt_offload = 1; + else + params.req_key_mgmt_offload = 0; - if (wpa_s->conf->key_mgmt_offload) { + if (wpa_s->conf->key_mgmt_offload && !params.req_key_mgmt_offload) { if (params.key_mgmt_suite == WPA_KEY_MGMT_IEEE8021X || params.key_mgmt_suite == WPA_KEY_MGMT_IEEE8021X_SHA256 || params.key_mgmt_suite == WPA_KEY_MGMT_IEEE8021X_SUITE_B || -- 2.1.0