From: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> During the sequence of exchanging GAS frames with the AP, the AP can request to comeback in X amount of time and resend the GAS request. Currently the wpa_supplicant does not initiate the termination of the remain-on-channel session, but rather waits until the requested comeback delay has expired, and then tries to send the GAS frame (potentially to save the time that is required to schedule a new remain on channel flow). This might cause unnecessary idle time (can be close to 1000 ms) in which the device might be off-channel. Ending the current remain-on-channel session and then rescheduling makes better usage of the time in this case. End remain-on-channel session due to receiving a delayed GAS comeback request from the AP. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> --- wpa_supplicant/gas_query.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/wpa_supplicant/gas_query.c b/wpa_supplicant/gas_query.c index 10ecce7..65dec2b 100644 --- a/wpa_supplicant/gas_query.c +++ b/wpa_supplicant/gas_query.c @@ -319,6 +319,8 @@ static void gas_query_tx_comeback_req_delay(struct gas_query *gas, { unsigned int secs, usecs; + offchannel_send_action_done(gas->wpa_s); + secs = (comeback_delay * 1024) / 1000000; usecs = comeback_delay * 1024 - secs * 1000000; wpa_printf(MSG_DEBUG, "GAS: Send comeback request to " MACSTR -- 1.9.1 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap