From c012567df6249d14b6aa78f40fa7f16f6cb8fb97 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 20 Dec 2015 19:37:06 +0200 Subject: [PATCH] GAS: Clear offchannel_tx_started when ending remain-on-channel Commit 2c0d0ae370f72fbe6248feed7ea0635303e3dc5a ('GAS: End remain-on-channel due to delayed GAS comeback request') started ending the remain-on-channel operation between the initial request and the following comeback request. However, it did not check or update the offchannel_tx_started variable. While this alone would not necessarily be problematic, this makes it more difficult to optimize wait time for offchannel TX operations, so make sure the internal tracking variable gets updated. Signed-off-by: Jouni Malinen --- wpa_supplicant/gas_query.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wpa_supplicant/gas_query.c b/wpa_supplicant/gas_query.c index 65dec2b14..fdb36df10 100644 --- a/wpa_supplicant/gas_query.c +++ b/wpa_supplicant/gas_query.c @@ -319,7 +319,10 @@ static void gas_query_tx_comeback_req_delay(struct gas_query *gas, { unsigned int secs, usecs; - offchannel_send_action_done(gas->wpa_s); + if (query->offchannel_tx_started) { + offchannel_send_action_done(gas->wpa_s); + query->offchannel_tx_started = 0; + } secs = (comeback_delay * 1024) / 1000000; usecs = comeback_delay * 1024 - secs * 1000000;