3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-12-22 21:22:37 +01:00

ap: handle GET_KEY error setting RSC to zero

Rather than the previous hack which disabled group traffic it
was found that the GTK RSC could be manually set to zero which
allows group traffic. This appears to fix AP mode on brcmfmac
along with the previous fixes. This is not documented in
nl80211, but appears to work with this driver.
This commit is contained in:
James Prestwood 2021-01-29 10:47:25 -08:00 committed by Denis Kenzior
parent 4635e095ba
commit aefcaf8559

View File

@ -787,6 +787,7 @@ static void ap_gtk_query_cb(struct l_genl_msg *msg, void *user_data)
{ {
struct sta_state *sta = user_data; struct sta_state *sta = user_data;
const void *gtk_rsc; const void *gtk_rsc;
uint8_t zero_gtk_rsc[6];
sta->gtk_query_cmd_id = 0; sta->gtk_query_cmd_id = 0;
@ -795,11 +796,8 @@ static void ap_gtk_query_cb(struct l_genl_msg *msg, void *user_data)
gtk_rsc = nl80211_parse_get_key_seq(msg); gtk_rsc = nl80211_parse_get_key_seq(msg);
if (!gtk_rsc) { if (!gtk_rsc) {
/* Try allowing connection with no group traffic */ memset(zero_gtk_rsc, 0, 6);
l_warn("Failed to get GTK. This may be a driver/FW issue, " gtk_rsc = zero_gtk_rsc;
"disabling group traffic");
ap_start_rsna(sta, NULL);
return;
} }
ap_start_rsna(sta, gtk_rsc); ap_start_rsna(sta, gtk_rsc);