diff mbox series

[v2,2/2] ap: handle -ENOTSUP when getting the GTK

Message ID 20230224185147.1462945-2-prestwoj@gmail.com (mailing list archive)
State Accepted, archived
Headers show
Series [v2,1/2] ap: check FULL_AP_CLIENT_STATE for NEW_STATION | expand

Checks

Context Check Description
tedd_an/pre-ci_am success Success
prestwoj/iwd-ci-gitlint success GitLint

Commit Message

James Prestwood Feb. 24, 2023, 6:51 p.m. UTC
Some hardware does not support this, so use a zero RSC in this
case rather than failing the association.
---
 src/ap.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

v2:
 * Instead, jump to the !gtk_rsc if block to memset and set the pointer
diff mbox series

Patch

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;
 	}