aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/offchannel.c
diff options
context:
space:
mode:
authorJithu Jance <jithu@broadcom.com>2014-08-20 16:25:06 (GMT)
committerJouni Malinen <j@w1.fi>2014-12-18 14:41:40 (GMT)
commit49e1e9ca88e3355d90ba373ba19f37d09be36e25 (patch)
treee6ecac5b1838af3157ad688f8b5e69ac5e097a5d /wpa_supplicant/offchannel.c
parent89cd4355bbffbd2b35446a7ccf67c264ffdbf639 (diff)
downloadhostap-49e1e9ca88e3355d90ba373ba19f37d09be36e25.zip
hostap-49e1e9ca88e3355d90ba373ba19f37d09be36e25.tar.gz
hostap-49e1e9ca88e3355d90ba373ba19f37d09be36e25.tar.bz2
P2P: Avoid truncation of long listen operation due to offchan tx
On receiving the cancel remain on channel event, the pending_tx is scheduled immediately and returned. This was preventing the wpas_p2p_listen_start function from execution thereby resulting in termination of the long listen operation. Signed-off-by: Jithu Jance <jithu@broadcom.com>
Diffstat (limited to 'wpa_supplicant/offchannel.c')
-rw-r--r--wpa_supplicant/offchannel.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/wpa_supplicant/offchannel.c b/wpa_supplicant/offchannel.c
index 8ab7ab8..7a86347 100644
--- a/wpa_supplicant/offchannel.c
+++ b/wpa_supplicant/offchannel.c
@@ -12,6 +12,7 @@
#include "common.h"
#include "utils/eloop.h"
#include "wpa_supplicant_i.h"
+#include "p2p_supplicant.h"
#include "driver_i.h"
#include "offchannel.h"
@@ -197,6 +198,14 @@ void offchannel_send_action_tx_status(
wpa_s->pending_action_bssid,
data, data_len, result);
}
+
+#ifdef CONFIG_P2P
+ if (wpa_s->p2p_long_listen > 0) {
+ /* Continue the listen */
+ wpa_printf(MSG_DEBUG, "P2P: Continuing long Listen state");
+ wpas_p2p_listen_start(wpa_s, wpa_s->p2p_long_listen);
+ }
+#endif /* CONFIG_P2P */
}