diff --git a/src/ap/drv_callbacks.c b/src/ap/drv_callbacks.c index f81f640b0..3cac8f609 100644 --- a/src/ap/drv_callbacks.c +++ b/src/ap/drv_callbacks.c @@ -531,10 +531,17 @@ skip_wpa_check: npos = owe_auth_req_process(hapd, sta, elems.owe_dh, elems.owe_dh_len, p, &reason); - if (!npos) - goto fail; - p = npos; - if (reason != WLAN_STATUS_SUCCESS) + if (npos) + p = npos; + if (!npos && + reason == WLAN_STATUS_FINITE_CYCLIC_GROUP_NOT_SUPPORTED) { + status = WLAN_STATUS_FINITE_CYCLIC_GROUP_NOT_SUPPORTED; + hostapd_sta_assoc(hapd, addr, reassoc, status, buf, + p - buf); + return 0; + } + + if (!npos || reason != WLAN_STATUS_SUCCESS) goto fail; } #endif /* CONFIG_OWE */