P2P: Do not allow pending listen command override connect
If p2p_listen is issued during a p2p_scan, a pending after-scan operation is scheduled. However, since there is support for only a single pending operation, this was able to override a previously scheduled pending connect command. This can break some command sequences, so give higher priority to pending connect operation. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
72d48a80ec
commit
d9bdba9f86
1 changed files with 6 additions and 0 deletions
|
@ -251,6 +251,12 @@ int p2p_listen(struct p2p_data *p2p, unsigned int timeout)
|
||||||
p2p->pending_listen_usec = (timeout % 1000) * 1000;
|
p2p->pending_listen_usec = (timeout % 1000) * 1000;
|
||||||
|
|
||||||
if (p2p->p2p_scan_running) {
|
if (p2p->p2p_scan_running) {
|
||||||
|
if (p2p->start_after_scan == P2P_AFTER_SCAN_NOTHING) {
|
||||||
|
wpa_msg(p2p->cfg->msg_ctx, MSG_DEBUG,
|
||||||
|
"P2P: p2p_scan running - connect is already "
|
||||||
|
"pending - skip listen");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
wpa_msg(p2p->cfg->msg_ctx, MSG_DEBUG,
|
wpa_msg(p2p->cfg->msg_ctx, MSG_DEBUG,
|
||||||
"P2P: p2p_scan running - delay start of listen state");
|
"P2P: p2p_scan running - delay start of listen state");
|
||||||
p2p->start_after_scan = P2P_AFTER_SCAN_LISTEN;
|
p2p->start_after_scan = P2P_AFTER_SCAN_LISTEN;
|
||||||
|
|
Loading…
Reference in a new issue