P2P: Extend the listen time based on the active concurrent session

A P2P Device while in the Listen state waiting to respond for the
obtained group negotiation request shall give a fair chance for other
concurrent sessions to use the shared radio by inducing an idle time
between the successive listen states. However, if there are no
concurrent operations, this idle time can be reduced.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Rashmi Ramanna 2014-01-20 22:55:09 +02:00 committed by Jouni Malinen
parent 99fa65bc28
commit a2d6365760
3 changed files with 31 additions and 6 deletions

View file

@ -3149,13 +3149,13 @@ static void p2p_timeout_connect_listen(struct p2p_data *p2p)
static void p2p_timeout_wait_peer_connect(struct p2p_data *p2p)
{
/*
* TODO: could remain constantly in Listen state for some time if there
* are no other concurrent uses for the radio. For now, go to listen
* state once per second to give other uses a chance to use the radio.
*/
p2p_set_state(p2p, P2P_WAIT_PEER_IDLE);
p2p_set_timeout(p2p, 0, 500000);
if (p2p->cfg->is_concurrent_session_active &&
p2p->cfg->is_concurrent_session_active(p2p->cfg->cb_ctx))
p2p_set_timeout(p2p, 0, 500000);
else
p2p_set_timeout(p2p, 0, 200000);
}