GAS: End remain-on-channel due to delayed GAS comeback request
During the sequence of exchanging GAS frames with the AP, the AP can request to come back in X amount of time and resend the GAS request. Previously, wpa_supplicant did not terminate the remain-on-channel session, but rather waited until the requested comeback delay had expired, and then tried 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@intel.com>
This commit is contained in:
parent
dabdef9e04
commit
2c0d0ae370
1 changed files with 2 additions and 0 deletions
|
@ -319,6 +319,8 @@ static void gas_query_tx_comeback_req_delay(struct gas_query *gas,
|
||||||
{
|
{
|
||||||
unsigned int secs, usecs;
|
unsigned int secs, usecs;
|
||||||
|
|
||||||
|
offchannel_send_action_done(gas->wpa_s);
|
||||||
|
|
||||||
secs = (comeback_delay * 1024) / 1000000;
|
secs = (comeback_delay * 1024) / 1000000;
|
||||||
usecs = comeback_delay * 1024 - secs * 1000000;
|
usecs = comeback_delay * 1024 - secs * 1000000;
|
||||||
wpa_printf(MSG_DEBUG, "GAS: Send comeback request to " MACSTR
|
wpa_printf(MSG_DEBUG, "GAS: Send comeback request to " MACSTR
|
||||||
|
|
Loading…
Reference in a new issue