[PATCH] P2P: fix action done handling
Johannes Berg
johannes
Tue Sep 20 02:59:09 PDT 2011
From: Johannes Berg <johannes.berg at intel.com>
The action done handling needs to abort an off-channel
period since one might have been used for example for
GO negotiation and after action done the code assumes
it can start a new off-channel period.
This fixes a bug I introduced when adding support for
in-kernel off-channel transmissions.
Reported-by: Reinette Chatre <reinette.chatre at intel.com>
Signed-off-by: Johannes Berg <johannes.berg at intel.com>
---
Resend with correct sender who is subscribed to the list ...
wpa_supplicant/p2p_supplicant.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
--- a/wpa_supplicant/p2p_supplicant.c 2011-09-20 11:53:08.000000000 +0200
+++ b/wpa_supplicant/p2p_supplicant.c 2011-09-20 11:53:31.000000000 +0200
@@ -816,11 +816,11 @@ static void wpas_send_action_done(void *
wpa_printf(MSG_DEBUG, "P2P: Action frame sequence done notification");
wpabuf_free(wpa_s->pending_action_tx);
wpa_s->pending_action_tx = NULL;
- if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_OFFCHANNEL_TX) {
- if (wpa_s->action_tx_wait_time)
- wpa_drv_send_action_cancel_wait(wpa_s);
- wpa_s->off_channel_freq = 0;
- } else if (wpa_s->off_channel_freq || wpa_s->roc_waiting_drv_freq) {
+ if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_OFFCHANNEL_TX &&
+ wpa_s->action_tx_wait_time)
+ wpa_drv_send_action_cancel_wait(wpa_s);
+
+ if (wpa_s->off_channel_freq || wpa_s->roc_waiting_drv_freq) {
wpa_drv_cancel_remain_on_channel(wpa_s);
wpa_s->off_channel_freq = 0;
wpa_s->roc_waiting_drv_freq = 0;
More information about the Hostap
mailing list