mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-23 06:02: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:
parent
4635e095ba
commit
aefcaf8559
8
src/ap.c
8
src/ap.c
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user