]> git.ipfire.org Git - thirdparty/hostap.git/blobdiff - wpa_supplicant/offchannel.c
OCE: Mandate PMF for WPA2 association with OCE AP
[thirdparty/hostap.git] / wpa_supplicant / offchannel.c
index 26d41a4ad5c6303a88377cd42ce1ef05c96e6170..b74be7dad4acfade264a6a09306358e81a41b8d3 100644 (file)
@@ -310,6 +310,8 @@ int offchannel_send_action(struct wpa_supplicant *wpa_s, unsigned int freq,
 
                iface = wpas_get_tx_interface(wpa_s, src);
                wpa_s->action_tx_wait_time = wait_time;
+               if (wait_time)
+                       wpa_s->action_tx_wait_time_used = 1;
 
                ret = wpa_drv_send_action(
                        iface, wpa_s->pending_action_freq,
@@ -398,13 +400,14 @@ void offchannel_send_action_done(struct wpa_supplicant *wpa_s)
        wpabuf_free(wpa_s->pending_action_tx);
        wpa_s->pending_action_tx = NULL;
        if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_OFFCHANNEL_TX &&
-           wpa_s->action_tx_wait_time)
+           (wpa_s->action_tx_wait_time || wpa_s->action_tx_wait_time_used))
                wpa_drv_send_action_cancel_wait(wpa_s);
        else 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;
        }
+       wpa_s->action_tx_wait_time_used = 0;
 }