aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/gas_query.c
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2014-03-01 14:51:46 (GMT)
committerJouni Malinen <j@w1.fi>2014-03-01 15:06:20 (GMT)
commit2af4d87fc36040ad8c64dad3016444b85eea607e (patch)
treeddcb3e66d320b5ad53c784657bb5107e0cdbdb69 /wpa_supplicant/gas_query.c
parent07d462c7b7500ea275d83b63408a9b7387e20498 (diff)
downloadhostap-2af4d87fc36040ad8c64dad3016444b85eea607e.zip
hostap-2af4d87fc36040ad8c64dad3016444b85eea607e.tar.gz
hostap-2af4d87fc36040ad8c64dad3016444b85eea607e.tar.bz2
GAS: Fix additional comeback delay with status code 95
The special case of non-zero status code used in a GAS Comeback Response frame to indicate that additional delay is needed before the response is available was not working properly. This case needs to allow the status code check to be bypassed for the comeback case prior to having received any response data. Signed-off-by: Jouni Malinen <j@w1.fi>
Diffstat (limited to 'wpa_supplicant/gas_query.c')
-rw-r--r--wpa_supplicant/gas_query.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/wpa_supplicant/gas_query.c b/wpa_supplicant/gas_query.c
index a63ee6c..aff1950 100644
--- a/wpa_supplicant/gas_query.c
+++ b/wpa_supplicant/gas_query.c
@@ -487,7 +487,10 @@ int gas_query_rx(struct gas_query *gas, const u8 *da, const u8 *sa,
query->status_code = WPA_GET_LE16(pos);
pos += 2;
- if (query->status_code != WLAN_STATUS_SUCCESS) {
+ if (query->status_code == WLAN_STATUS_QUERY_RESP_OUTSTANDING &&
+ action == WLAN_PA_GAS_COMEBACK_RESP) {
+ wpa_printf(MSG_DEBUG, "GAS: Allow non-zero status for outstanding comeback response");
+ } else if (query->status_code != WLAN_STATUS_SUCCESS) {
wpa_printf(MSG_DEBUG, "GAS: Query to " MACSTR " dialog token "
"%u failed - status code %u",
MAC2STR(sa), dialog_token, query->status_code);