P2P: Cancel pending action TX radio work on p2p_cancel
When p2p_cancel is invoked while the GO Negotiation Action TX was pending, the p2p_send_action_work was not getting cleared. Signed-off-by: Jithu Jance <jithu@broadcom.com>
This commit is contained in:
parent
8b627b7c47
commit
2fa980f0f1
1 changed files with 17 additions and 9 deletions
|
@ -967,16 +967,8 @@ static void wpas_p2p_send_action_work_timeout(void *eloop_ctx,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void wpas_p2p_send_action_tx_status(struct wpa_supplicant *wpa_s,
|
static void wpas_p2p_action_tx_clear(struct wpa_supplicant *wpa_s)
|
||||||
unsigned int freq,
|
|
||||||
const u8 *dst, const u8 *src,
|
|
||||||
const u8 *bssid,
|
|
||||||
const u8 *data, size_t data_len,
|
|
||||||
enum offchannel_send_action_result
|
|
||||||
result)
|
|
||||||
{
|
{
|
||||||
enum p2p_send_action_result res = P2P_SEND_ACTION_SUCCESS;
|
|
||||||
|
|
||||||
if (wpa_s->p2p_send_action_work) {
|
if (wpa_s->p2p_send_action_work) {
|
||||||
struct send_action_work *awork;
|
struct send_action_work *awork;
|
||||||
awork = wpa_s->p2p_send_action_work->ctx;
|
awork = wpa_s->p2p_send_action_work->ctx;
|
||||||
|
@ -999,6 +991,20 @@ static void wpas_p2p_send_action_tx_status(struct wpa_supplicant *wpa_s,
|
||||||
wpa_s, NULL);
|
wpa_s, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void wpas_p2p_send_action_tx_status(struct wpa_supplicant *wpa_s,
|
||||||
|
unsigned int freq,
|
||||||
|
const u8 *dst, const u8 *src,
|
||||||
|
const u8 *bssid,
|
||||||
|
const u8 *data, size_t data_len,
|
||||||
|
enum offchannel_send_action_result
|
||||||
|
result)
|
||||||
|
{
|
||||||
|
enum p2p_send_action_result res = P2P_SEND_ACTION_SUCCESS;
|
||||||
|
|
||||||
|
wpas_p2p_action_tx_clear(wpa_s);
|
||||||
|
|
||||||
if (wpa_s->global->p2p == NULL || wpa_s->global->p2p_disabled)
|
if (wpa_s->global->p2p == NULL || wpa_s->global->p2p_disabled)
|
||||||
return;
|
return;
|
||||||
|
@ -5684,6 +5690,8 @@ static void wpas_p2p_clear_pending_action_tx(struct wpa_supplicant *wpa_s)
|
||||||
if (!offchannel_pending_action_tx(wpa_s))
|
if (!offchannel_pending_action_tx(wpa_s))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
wpas_p2p_action_tx_clear(wpa_s);
|
||||||
|
|
||||||
wpa_printf(MSG_DEBUG, "P2P: Drop pending Action TX due to new "
|
wpa_printf(MSG_DEBUG, "P2P: Drop pending Action TX due to new "
|
||||||
"operation request");
|
"operation request");
|
||||||
offchannel_clear_pending_action_tx(wpa_s);
|
offchannel_clear_pending_action_tx(wpa_s);
|
||||||
|
|
Loading…
Reference in a new issue