aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2014-11-27 18:28:10 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2014-11-27 18:28:10 -0800
commit39e5f85eff7fb93165f8a8a157c4ed64c39b0db8 (patch)
tree7e05ee4c8d209c8882d477bc129d78e6f4bd8bb8
parentbfd368ccb011e62cccf32d433e7d6713c425f5fe (diff)
parentdddb6a5696a6ec6846d5927eb52878a5c3649441 (diff)
downloadandroid_external_wpa_supplicant_8-39e5f85eff7fb93165f8a8a157c4ed64c39b0db8.tar.gz
android_external_wpa_supplicant_8-39e5f85eff7fb93165f8a8a157c4ed64c39b0db8.tar.bz2
android_external_wpa_supplicant_8-39e5f85eff7fb93165f8a8a157c4ed64c39b0db8.zip
Merge "P2P: Do not change P2P state on GO Neg failure if it is P2P_SEARCH"
-rw-r--r--src/p2p/p2p.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c
index 7e12866a..9f3cff4c 100644
--- a/src/p2p/p2p.c
+++ b/src/p2p/p2p.c
@@ -215,9 +215,16 @@ void p2p_go_neg_failed(struct p2p_data *p2p, struct p2p_device *peer,
int status)
{
struct p2p_go_neg_results res;
- p2p_clear_timeout(p2p);
eloop_cancel_timeout(p2p_go_neg_wait_timeout, p2p, NULL);
- p2p_set_state(p2p, P2P_IDLE);
+ if (p2p->state != P2P_SEARCH) {
+ /*
+ * Clear timeouts related to GO Negotiation if no new p2p_find
+ * has been started.
+ */
+ p2p_clear_timeout(p2p);
+ p2p_set_state(p2p, P2P_IDLE);
+ }
+
if (p2p->go_neg_peer) {
p2p->go_neg_peer->flags &= ~P2P_DEV_PEER_WAITING_RESPONSE;
p2p->go_neg_peer->wps_method = WPS_NOT_READY;