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>
This commit is contained in:
parent
07d462c7b7
commit
2af4d87fc3
2 changed files with 5 additions and 1 deletions
|
@ -161,6 +161,7 @@
|
|||
#define WLAN_STATUS_ANTI_CLOGGING_TOKEN_REQ 76
|
||||
#define WLAN_STATUS_FINITE_CYCLIC_GROUP_NOT_SUPPORTED 77
|
||||
#define WLAN_STATUS_TRANSMISSION_FAILURE 79
|
||||
#define WLAN_STATUS_QUERY_RESP_OUTSTANDING 95
|
||||
#define WLAN_STATUS_ASSOC_DENIED_NO_VHT 104
|
||||
|
||||
/* Reason codes (IEEE 802.11-2007, 7.3.1.7, Table 7-22) */
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue