[PATCH 7/8] GAS: End remain-on-channel due to delayed GAS comeback request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux