]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
P2P: Clear send action work without waiting on find/stop/listen
authorAvraham Stern <avraham.stern@intel.com>
Tue, 3 Nov 2015 14:25:01 +0000 (16:25 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 21 Nov 2015 16:53:22 +0000 (18:53 +0200)
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 <avraham.stern@intel.com>
wpa_supplicant/p2p_supplicant.c

index 7d78623cb3dac1f94577e3118c7cfb52a51989b3..4e27c87de817a83cdb9ad0bed1069d0e99d7a926 100644 (file)
@@ -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");