aboutsummaryrefslogtreecommitdiffstats
path: root/src/p2p
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2014-02-28 11:14:23 -0800
committerDmitry Shmidt <dimitrysh@google.com>2014-02-28 11:14:23 -0800
commit4582d2a5dd8180c52eb95b1100fb183b9a289708 (patch)
treed7b21dc7eacca31acec9b2ad343761006610bff8 /src/p2p
parentf21452aea786ac056eb01f1cbba4f553bd502747 (diff)
downloadandroid_external_wpa_supplicant_8-4582d2a5dd8180c52eb95b1100fb183b9a289708.tar.gz
android_external_wpa_supplicant_8-4582d2a5dd8180c52eb95b1100fb183b9a289708.tar.bz2
android_external_wpa_supplicant_8-4582d2a5dd8180c52eb95b1100fb183b9a289708.zip
Cumulative patch from commit 06c7b7f0b5f4deed675a7b81e33830311da7339a
06c7b7f HS 2.0R2: Fix temporary network disabling in Deauth Req case c5c2d94 P2P: Cancel offchannel TX wait on PD Response TX status 1578796 TDLS: Work around interop issues with supported operating class b7fb98f Interworking: Fix already-connected check to verify network priority 7c373ac Interworking: Fix last-network preference to not override priority f54e924 HS 2.0R2: Fix req_conn_capab example Change-Id: I17953fc05421bc5d454f4081fbfe303f4bf2d6fd Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'src/p2p')
-rw-r--r--src/p2p/p2p.c4
-rw-r--r--src/p2p/p2p_i.h1
-rw-r--r--src/p2p/p2p_pd.c3
3 files changed, 7 insertions, 1 deletions
diff --git a/src/p2p/p2p.c b/src/p2p/p2p.c
index 6f3cd687..4b909898 100644
--- a/src/p2p/p2p.c
+++ b/src/p2p/p2p.c
@@ -2990,6 +2990,10 @@ void p2p_send_action_cb(struct p2p_data *p2p, unsigned int freq, const u8 *dst,
p2p->pending_action_state = P2P_NO_PENDING_ACTION;
switch (state) {
case P2P_NO_PENDING_ACTION:
+ if (p2p->send_action_in_progress) {
+ p2p->send_action_in_progress = 0;
+ p2p->cfg->send_action_done(p2p->cfg->cb_ctx);
+ }
if (p2p->after_scan_tx_in_progress) {
p2p->after_scan_tx_in_progress = 0;
if (p2p->start_after_scan != P2P_AFTER_SCAN_NOTHING &&
diff --git a/src/p2p/p2p_i.h b/src/p2p/p2p_i.h
index 6de34616..420c7391 100644
--- a/src/p2p/p2p_i.h
+++ b/src/p2p/p2p_i.h
@@ -389,6 +389,7 @@ struct p2p_data {
u8 after_scan_peer[ETH_ALEN];
struct p2p_pending_action_tx *after_scan_tx;
unsigned int after_scan_tx_in_progress:1;
+ unsigned int send_action_in_progress:1;
/* Requested device types for find/search */
unsigned int num_req_dev_types;
diff --git a/src/p2p/p2p_pd.c b/src/p2p/p2p_pd.c
index 409405fb..68d79d23 100644
--- a/src/p2p/p2p_pd.c
+++ b/src/p2p/p2p_pd.c
@@ -224,7 +224,8 @@ out:
p2p->cfg->dev_addr,
wpabuf_head(resp), wpabuf_len(resp), 200) < 0) {
p2p_dbg(p2p, "Failed to send Action frame");
- }
+ } else
+ p2p->send_action_in_progress = 1;
wpabuf_free(resp);