From 2c51c0bd8323b8bfa7b5a640488841d2c2c1d2ae Mon Sep 17 00:00:00 2001 From: Avraham Stern Date: Tue, 3 Nov 2015 16:25:01 +0200 Subject: [PATCH] P2P: Clear send action work without waiting on find/stop/listen When clearing pending TX action to start a new P2P operation like P2P_FIND or P2P_LISTEN, wpas_p2p_action_tx_clear() was used to clear the send action work. However, in cases where the action work has wait time, it is not cleared immediately but only after the wait time ends. This may cause delay in starting the P2P operation. Fix that by always clearing the send action work immediately on these P2P commands that result in immediate P2P state change and practically stopping a previous operation, if one was pending. Signed-off-by: Avraham Stern --- wpa_supplicant/p2p_supplicant.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index 7d78623cb..4e27c87de 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -6340,7 +6340,8 @@ static void wpas_p2p_clear_pending_action_tx(struct wpa_supplicant *wpa_s) if (!offchannel_pending_action_tx(wpa_s)) return; - wpas_p2p_action_tx_clear(wpa_s); + if (wpa_s->p2p_send_action_work) + wpas_p2p_free_send_action_work(wpa_s); wpa_printf(MSG_DEBUG, "P2P: Drop pending Action TX due to new " "operation request");