diff --git a/src/ap.c b/src/ap.c index fee5a6c8..398e469a 100644 --- a/src/ap.c +++ b/src/ap.c @@ -1499,14 +1499,19 @@ static void ap_gtk_query_cb(struct l_genl_msg *msg, void *user_data) struct sta_state *sta = user_data; const void *gtk_rsc; uint8_t zero_gtk_rsc[6]; + int err; sta->gtk_query_cmd_id = 0; - if (l_genl_msg_get_error(msg) < 0) + err = l_genl_msg_get_error(msg); + if (err == -ENOTSUP) + goto zero_rsc; + else if (err < 0) goto error; gtk_rsc = nl80211_parse_get_key_seq(msg); if (!gtk_rsc) { +zero_rsc: memset(zero_gtk_rsc, 0, 6); gtk_rsc = zero_gtk_rsc; }