[PATCH 11/18] P2P: Resume P2P long listen after off channel TX

andrei.otcheretianski at intel.com andrei.otcheretianski at intel.com
Mon Sep 5 07:33:04 PDT 2016


From: Avraham Stern <avraham.stern at intel.com>

P2P long listen that was stopped for off-channel action TX is not
resumed when the action frame sequence is done but only on the
TX status event. However, it is possible that by the time the
TX status event is received the action frame sequence was already
done. In such case P2P long listen will not be resumed since the
TX status event is being ignored.
Fix this by also resuming P2P long listen when action frame sequence
is done.

Signed-off-by: Avraham Stern <avraham.stern at intel.com>
---
 wpa_supplicant/p2p_supplicant.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
index 21b6213..a6184db 100644
--- a/wpa_supplicant/p2p_supplicant.c
+++ b/wpa_supplicant/p2p_supplicant.c
@@ -1607,6 +1607,12 @@ static void wpas_send_action_done(void *ctx)
 	}
 
 	offchannel_send_action_done(wpa_s);
+
+	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);
+	}
 }
 
 
-- 
1.9.1




More information about the Hostap mailing list