P2P: Don't expire the peer, if GO Negotiation is in progress

This adds one more case of active P2P peer detection so that
p2p_expire_peers() cannot hit a case where a GO Negotiation peer would
be removed.

Signed-hostap: Jithu Jance <jithu@broadcom.com>
This commit is contained in:
Jithu Jance 2014-01-15 15:52:51 +05:30 committed by Jouni Malinen
parent a0e9d89203
commit a691d99ff5

View file

@ -56,6 +56,15 @@ static void p2p_expire_peers(struct p2p_data *p2p)
if (dev->last_seen.sec + P2P_PEER_EXPIRATION_AGE >= now.sec)
continue;
if (dev == p2p->go_neg_peer) {
/*
* GO Negotiation is in progress with the peer, so
* don't expire the peer entry until GO Negotiation
* fails or times out.
*/
continue;
}
if (p2p->cfg->go_connected &&
p2p->cfg->go_connected(p2p->cfg->cb_ctx,
dev->info.p2p_device_addr)) {