hostapd: Restore the flow of set beacon and WPA key init

hostapd start AP flow changed in commit 931e5d4f9e. However, that
could cause a regression in a legacy AP driver where the set key
operation for GTK, IGTK, and BIGTK before AP start (set beacon) would
cause the driver to ignore the key set command. Restore the flow of the
set beacon and WPA key init operations to make sure drivers can receive
and set group keys correctly.

Fixes: 931e5d4f9e ("mbssid: Configure all BSSes before beacon setup")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
This commit is contained in:
Xin Deng 2023-04-11 18:24:58 +08:00 committed by Jouni Malinen
parent e8912452ed
commit f8931fcbaf

View file

@ -1476,11 +1476,11 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first,
return -1;
}
if (hapd->wpa_auth && wpa_init_keys(hapd->wpa_auth) < 0)
if (start_beacon && hostapd_start_beacon(hapd, flush_old_stations) < 0)
return -1;
if (start_beacon)
return hostapd_start_beacon(hapd, flush_old_stations);
if (hapd->wpa_auth && wpa_init_keys(hapd->wpa_auth) < 0)
return -1;
return 0;
}